<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Gui, Add, Hotkey и русский язык]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=12179&amp;type=atom" />
	<updated>2016-11-27T21:10:58Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=12179</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Gui, Add, Hotkey и русский язык]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=109450#p109450" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Oomniq пишет:</cite><blockquote><p>Теряюсь с блоком GetHotkeySC(hotkey). Не до конца понимаю что именно в нём происходит.</p></blockquote></div><p>Здесь с помощью RegExMatch вычленяем из полученного текста две части: первая — модификаторы, вторая — клавиша.<br />Например, из контрола Hotkey пришёл текст <span style="color: #0044aa">^!+ю</span>. Тогда в переменной key1 будет <span style="color: #0044aa">^!+</span>, а в переменной key2 — <span style="color: #0044aa">ю</span>. Далее с помощью GetKeySC() получаем сканкод клавиши <span style="color: #0044aa">ю</span> и форматируем его в шестнадцатеричное значение. Затем соединяем вместе модификаторы и полученный сканкод.<br /></p><div class="quotebox"><cite>Oomniq пишет:</cite><blockquote><p>Скрипт изъял сканкод клавиши. Как теперь поставить на него метку?</p></blockquote></div><div class="codebox"><pre><code>Gui, Add, Hotkey, vChosenHotkey
Gui, Add, Button, x+-80 y+5 w80 Default, Submit
Gui, Show
Return

ButtonSubmit:
   GuiControlGet, ChosenHotkey
   sc := GetHotkeySC(ChosenHotkey)
   Hotkey, % sc, Label, On
   Return
   
Label:
   MsgBox, Работает!
   Return
   
GuiClose:
   ExitApp
   
GetHotkeySC(hotkey)  {
   RegExMatch(hotkey, &quot;([!^+#]*)(.*)&quot;, key)
   Return key1 . ((StrLen(key2) = 1 || InStr(key2, &quot;Num&quot;)) ? Format(&quot;sc{:X}&quot;, GetKeySC(key2)) : key2)
}</code></pre></div><div class="quotebox"><cite>Oomniq пишет:</cite><blockquote><p>В моём случае как раз наоборот: буквенные клавиши <span class="bbu">работают</span> при другой (в английской) раскладке. Или я не так истолковал слово &quot;другая&quot;? &quot;Другая&quot; = &quot;не по умолчанию&quot;?</p></blockquote></div><p>В общем, неважно, на разных машинах может работать по-разному. Смысл в том, что буквенные клавиши лучше задавать через VK или SC коды.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2016-11-27T21:10:58Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=109450#p109450</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Gui, Add, Hotkey и русский язык]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=109403#p109403" />
			<content type="html"><![CDATA[<p><strong>teadrinker</strong><br />Теряюсь с блоком GetHotkeySC(hotkey). Не до конца понимаю что именно в нём происходит.<br />Скрипт изъял сканкод клавиши. Как теперь поставить на него метку?<br /></p><div class="codebox"><pre><code>Hotkey, % sc, label</code></pre></div><p>Вроде же как-то иначе?</p><div class="quotebox"><blockquote><p>...могут не работать при другой языковой раскладке...</p></blockquote></div><p>В моём случае как раз наоборот: буквенные клавиши <span class="bbu">работают</span> при другой (в английской) раскладке. Или я не так истолковал слово &quot;другая&quot;? &quot;Другая&quot; = &quot;не по умолчанию&quot;?</p>]]></content>
			<author>
				<name><![CDATA[Oomniq]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=34229</uri>
			</author>
			<updated>2016-11-27T07:41:22Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=109403#p109403</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Gui, Add, Hotkey и русский язык]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=109402#p109402" />
			<content type="html"><![CDATA[<p>Да ещё и от раскладки, на французкой кажется другие, было обсуждение. Вообщем поправил по ссылке.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2016-11-27T07:21:12Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=109402#p109402</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Gui, Add, Hotkey и русский язык]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=109400#p109400" />
			<content type="html"><![CDATA[<p>Да, разница только в том, что я здесь скан-коды использую. Виртуальные коды на цифровой клавиатуре зависят от статуса NumLock, а скан-коды всегда одинаковы.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2016-11-27T07:12:32Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=109400#p109400</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Gui, Add, Hotkey и русский язык]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=109398#p109398" />
			<content type="html"><![CDATA[<p><strong>teadrinker</strong> наверное тоже самое, просто приведу ссылку на вроде такой же вопрос <a href="http://forum.script-coding.com/viewtopic.php?pid=102089#p102089">http://forum.script-coding.com/viewtopi … 89#p102089</a>.</p><div class="quotebox"><blockquote><p>Смысл в устранении таких недостатков:<br /><em>- Буквенные клавиши сохраняются по имени, и потом могут не работать при другой языковой раскладке (есть <a href="http://forum.script-coding.com/viewtopic.php?pid=102089#p102089">обходной путь</a>)<br />***</em></p></blockquote></div>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2016-11-27T06:48:17Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=109398#p109398</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Gui, Add, Hotkey и русский язык]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=109396#p109396" />
			<content type="html"><![CDATA[<p><span style="color: green"><strong>Oomniq</strong>, цитировать предыдущий пост <a href="http://forum.script-coding.com/viewtopic.php?id=6148">не нужно</a>.</span><br />Если использовать всё-таки стандартный контрол, то так можно:<br /></p><div class="codebox"><pre><code>Gui, Add, Hotkey, vChosenHotkey
Gui, Add, Button, x+-80 y+5 w80 Default, Submit
Gui, Show
Return

ButtonSubmit:
   GuiControlGet, ChosenHotkey
   sc := GetHotkeySC(ChosenHotkey)
   MsgBox, % sc
   Return
   
GuiClose:
   ExitApp
   
GetHotkeySC(hotkey)  {
   RegExMatch(hotkey, &quot;([!^+#]*)(.*)&quot;, key)
   Return key1 . ((StrLen(key2) = 1 || InStr(key2, &quot;Num&quot;)) ? Format(&quot;sc{:X}&quot;, GetKeySC(key2)) : key2)
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2016-11-27T02:59:03Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=109396#p109396</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Gui, Add, Hotkey и русский язык]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=109395#p109395" />
			<content type="html"><![CDATA[<p>Спасибо, я уже находил эти темы в процессе поиска. Альтернативный контрол и его практическое применение пока за рамками моего понимания, а использование виртуальных кодов горячих клавиш в свете их назначения через gui пристально изучаю в поисках выхода из своей ситуации.</p>]]></content>
			<author>
				<name><![CDATA[Oomniq]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=34229</uri>
			</author>
			<updated>2016-11-27T01:29:50Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=109395#p109395</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Gui, Add, Hotkey и русский язык]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=109394#p109394" />
			<content type="html"><![CDATA[<p>Ясно, для начала почитайте <a href="http://forum.script-coding.com/viewtopic.php?id=7439">тут</a>. Стандартный контрол действительно работает с определёнными недостатками, но у нас разработан <a href="http://forum.script-coding.com/viewtopic.php?id=8343">альтернативный</a>.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2016-11-27T01:20:48Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=109394#p109394</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Gui, Add, Hotkey и русский язык]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=109393#p109393" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>...чего именно вы хотите добиться. В таком случае можно будет сказать, возможно ли, и как именно.</p></blockquote></div><p>Через gui-интерфейс задаётся горячая клавиша. Если назначать независимые от раскладки клавиши, то проблем нет. Если же указать, например, &quot;П&quot; или &quot;Г&quot; (при текущей русской раскладке и по умолчанию она же), то в поле ввода будут отображаться &quot;G&quot; или &quot;U&quot; соответственно, а метка этой клавиши выполняться не будет ни при каких обстоятельствах.<br />Если перед заданием горячей клавиши сменить текущую раскладку на английскую, то в поле ввода тоже будет отображаться &quot;G&quot; или &quot;U&quot;, зато метка будет срабатывать как задумано. Это неудобно на тех компьютерах, где по умолчанию раскладка русская. Себе бы я на скрипт назначал какую-нибудь из F1-12, но пользователю удобнее что-то из группы &quot;над пробелом&quot;, вот и захотелось добиться от скрипта какой-то универсальности, но столкнулся с такой проблемой.</p>]]></content>
			<author>
				<name><![CDATA[Oomniq]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=34229</uri>
			</author>
			<updated>2016-11-27T01:12:16Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=109393#p109393</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Gui, Add, Hotkey и русский язык]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=109392#p109392" />
			<content type="html"><![CDATA[<p>Никакой другой из представленных на форуме языков программирования с контролами не работает, так что это вопрос не общего характера, а исключительно по AHK.</p><p>По теме — вместо того, чтобы рассуждать, почему какой-то контрол отражает что-либо так, а не иначе, проще будет, если вы поясните, чего именно вы хотите добиться. В таком случае можно будет сказать, возможно ли, и как именно.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2016-11-27T00:51:25Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=109392#p109392</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Gui, Add, Hotkey и русский язык]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=109391#p109391" />
			<content type="html"><![CDATA[<p><strong>teadrinker</strong><br />Я полагал, что там раздел исключительно по программированию, отладке скриптов. У меня так-то вопрос общего характера. Освещение некоторых базовых моментов. Вроде бы нечто такое в этой ветке уже есть, потому&nbsp; сюда.</p>]]></content>
			<author>
				<name><![CDATA[Oomniq]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=34229</uri>
			</author>
			<updated>2016-11-27T00:44:06Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=109391#p109391</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Gui, Add, Hotkey и русский язык]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=109390#p109390" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Oomniq пишет:</cite><blockquote><p>Вот не знаю даже где задать свой вопрос, кроме как в этом разделе.</p></blockquote></div><p>Странное решение. У нас же есть ветка AHK, почему не там?</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2016-11-27T00:29:59Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=109390#p109390</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Gui, Add, Hotkey и русский язык]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=109389#p109389" />
			<content type="html"><![CDATA[<p>Вот не знаю даже где задать свой вопрос, кроме как в этом разделе. Поискал по сети, покопался в справках, но не нашёл ничего подходящего.</p><p>Есть скрипт, в нём задействован gui и используются строки<br /></p><div class="codebox"><pre><code>Gui, Add, Hotkey, vkey
GuiControlGet, key</code></pre></div><p>В системе раскладка по умолчанию, равно как и текущая - русская. Версия Autohotkey - 1.1.24.03. Но почему при вводе значения в поле отображается английский символ нажимаемой клавиши (&quot;N&quot; вместо &quot;Т&quot; или &quot;Q&quot; вместо &quot;Й&quot;)? Почему при попытке инициализации строки controlget после указания горячей клавиши (зависящей от раскладки) с русской раскладкой выдаёт ошибку, а сама горячая клавиша остаётся не функциональной? При том, что при английской раскладке те же действия приводят к нужному результату (то есть проблема не в коде). Я что-то не так делаю? Есть какие-то дополнительные параметры или опции при создании hotkey? Как с этим бороться?</p>]]></content>
			<author>
				<name><![CDATA[Oomniq]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=34229</uri>
			</author>
			<updated>2016-11-27T00:06:48Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=109389#p109389</id>
		</entry>
</feed>
