<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Зажать кнопку и держать зажатой]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7491&amp;type=atom" />
	<updated>2012-08-25T15:03:20Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=7491</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Зажать кнопку и держать зажатой]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=63179#p63179" />
			<content type="html"><![CDATA[<p>Какой интересный ход мыслей <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> Увы, не подкреплённый <a href="http://l.autohotkey.net/docs/commands/Send.htm">документально</a>:<br /></p><div class="quotebox"><blockquote><p>{vkXX}; {scYYY}; {vkXXscYYY} Sends a keystroke that has virtual key XX and scan code YYY. For example: Send {vkFFsc159}. If the sc or vk portion is omitted, the most appropriate value is sent in its place.<br /><strong>The values for XX and YYY are hexadecimal</strong> and can usually be determined from the main window&#039;s View-&gt;Key history menu item. See also: Special Keys</p></blockquote></div>]]></content>
			<author>
				<name><![CDATA[creature.ws]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26105</uri>
			</author>
			<updated>2012-08-25T15:03:20Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=63179#p63179</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Зажать кнопку и держать зажатой]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=63178#p63178" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Grey пишет:</cite><blockquote><p>Я не знаю как там проверяете, я проверял в CS:S, там у меня W/Ц (vk57) - курсорная идти вперёд и присесть (vk20 он же пробел).<br /></p><div class="quotebox"><cite>sergeant.coolagin пишет:</cite><blockquote><p>По нажатию на кнопку &quot;9&quot; со включенным или выключенным CAPS LOCK&#039;ом, Капс лок не включается...</p></blockquote></div><p>А это из какой &quot;оперы&quot;?</p></blockquote></div><p>Я всех виртуальных кодов клавиш не знаю, когда мне нужно узнать виртуальный код клавиш, то я пользуюсь вот такими сайтами:<br /><a href="http://www.arininav.ru/js/keycodes.htm">Keycodes</a><br /><a href="http://program.rin.ru/razdel/html/1016.html">Codes</a></p><p>vk57 - это ведь, вроде, десятичное значение, а не шестнадцатеричное. А vk57 в десятичном формате есть &quot;9&quot;, а вот в шестнадцатеричном vk0x57 есть &quot;W&quot;. Но, вообще, да, теперь я увидел, что имелось ввиду &quot;vk0x57&quot;, и стоило попробовать и этот вариант, а я не попробовал. Но почему программа восприняла vk57 как шестнадцатеричное значение? Я всегда использовал и понимал&nbsp; &quot;vk##&quot; как десятичное значение... И это работало. Раньше...</p><p>Сейчас буду пробовать все коды.</p>]]></content>
			<author>
				<name><![CDATA[sergeant.coolagin]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25809</uri>
			</author>
			<updated>2012-08-25T14:03:13Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=63178#p63178</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Зажать кнопку и держать зажатой]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=63136#p63136" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>sergeant.coolagin пишет:</cite><blockquote><p>Ни один из вариантов не работает.</p></blockquote></div><div class="quotebox"><cite>sergeant.coolagin пишет:</cite><blockquote><p>Никакого результата.</p></blockquote></div><div class="quotebox"><cite>KepocuH пишет:</cite><blockquote><p>...Проверял в Notepad&#039;е...</p></blockquote></div><p>Я не знаю как там проверяете, я проверял в CS:S, там у меня W/Ц (vk57) - курсорная идти вперёд и присесть (vk20 он же пробел).<br /></p><div class="quotebox"><cite>sergeant.coolagin пишет:</cite><blockquote><p>По нажатию на кнопку &quot;9&quot; со включенным или выключенным CAPS LOCK&#039;ом, Капс лок не включается...</p></blockquote></div><p>А это из какой &quot;оперы&quot;?</p>]]></content>
			<author>
				<name><![CDATA[Grey]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25792</uri>
			</author>
			<updated>2012-08-24T14:32:58Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=63136#p63136</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Зажать кнопку и держать зажатой]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=63101#p63101" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Необходимо по нажатию одной кнопки зажать вторую кнопку и держать эту вторую кнопку зажатой до последующего нажатия первой кнопки.</p></blockquote></div><div class="codebox"><pre><code>Joy9::
    If (flag := !flag)
        SetTimer, SendI, 40
    Else {
        SetTimer, SendI, Off
        SendInput {vk49 Up}
    }
    KeyWait Joy9
    return

SendI:
    SendInput {vk49 Down}
    return</code></pre></div><div class="quotebox"><blockquote><p>Я не могу найти подробной справки про оператор while</p></blockquote></div><div class="quotebox"><blockquote><p>не понимаю различия между if и while.</p></blockquote></div><p>If — оператор ветвления, while — оператор цикла с предусловием.<br />Скрипт выполняется сверу вниз, натыкаясь на If интерпретатор попадает на распутье, и в зависимости от результата условия сворачивает в определённом направлении и продолжает выполнение. Натыкаясь на While интерпретатор проверяет истинность условия и выполняет обусловленные действия до тех пор пока условие не станет ложным. (Здесь можно было бы привести пример с «копать отсюда и до обеда», но надеюсь и так понятно)</p>]]></content>
			<author>
				<name><![CDATA[creature.ws]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26105</uri>
			</author>
			<updated>2012-08-24T09:35:34Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=63101#p63101</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Зажать кнопку и держать зажатой]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=63092#p63092" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Grey пишет:</cite><blockquote><div class="codebox"><pre><code>; vk57 - 1st, vk20 - 2nd

~vk57::
   Send, % &quot;{vk20 &quot;(!(IsState:=!IsState) ? &quot;Up&quot;:&quot;Down&quot;)&quot;}&quot;
   KeyWait, vk57
   Return</code></pre></div><div class="codebox"><pre><code>$vk57::
   Send, % &quot;{vk57 Down}{vk20 &quot;((IsState:=!IsState) ? &quot;Down&quot;:&quot;Up&quot;)&quot;}&quot;
   KeyWait, vk57
   Send, {vk57 Up}
   Return</code></pre></div></blockquote></div><p>Эти скрипты делают (у меня по крайней мере) при первом нажатии Send {vk57}{vk20}, при втором Send {vk57}.<br />И совершенно не делают Send {vk20 Down}... Непонятно.<br />Проверял в Notepad&#039;е, если это имеет значение ))</p>]]></content>
			<author>
				<name><![CDATA[KepocuH]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28557</uri>
			</author>
			<updated>2012-08-24T07:50:19Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=63092#p63092</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Зажать кнопку и держать зажатой]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=63090#p63090" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Grey пишет:</cite><blockquote><div class="codebox"><pre><code>; vk57 - 1st, vk20 - 2nd

~vk57::
   Send, % &quot;{vk20 &quot;(!(IsState:=!IsState) ? &quot;Up&quot;:&quot;Down&quot;)&quot;}&quot;
   KeyWait, vk57
   Return</code></pre></div><div class="codebox"><pre><code>$vk57::
   Send, % &quot;{vk57 Down}{vk20 &quot;((IsState:=!IsState) ? &quot;Down&quot;:&quot;Up&quot;)&quot;}&quot;
   KeyWait, vk57
   Send, {vk57 Up}
   Return</code></pre></div><div class="codebox"><pre><code>$vk57::
   Send, % &quot;{vk57 Down}{vk20 &quot;(IsState ? &quot;Up&quot;:&quot;Down&quot;)&quot;}&quot;
   KeyWait, vk57
   Send, % &quot;{vk57 Up}&quot;IsState:=!IsState
   Return</code></pre></div></blockquote></div><p>Ни один из вариантов не работает.<br />По нажатию на кнопку &quot;9&quot; со включенным или выключенным CAPS LOCK&#039;ом, Капс лок не включается и не выключается по нажатию кнопки 9. А вот кнопка 9 нажимается. Пробовал запускать от имени администратора. Пробовал изменять vk20 на другие виртуальные коды клавиш... Никакого результата.<br />Кодировка UTF-8.</p>]]></content>
			<author>
				<name><![CDATA[sergeant.coolagin]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25809</uri>
			</author>
			<updated>2012-08-24T07:47:12Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=63090#p63090</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Зажать кнопку и держать зажатой]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=63089#p63089" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>; vk57 - 1st, vk20 - 2nd

~vk57::
   Send, % &quot;{vk20 &quot;(!(IsState:=!IsState) ? &quot;Up&quot;:&quot;Down&quot;)&quot;}&quot;
   KeyWait, vk57
   Return</code></pre></div><div class="codebox"><pre><code>$vk57::
   Send, % &quot;{vk57 Down}{vk20 &quot;((IsState:=!IsState) ? &quot;Down&quot;:&quot;Up&quot;)&quot;}&quot;
   KeyWait, vk57
   Send, {vk57 Up}
   Return</code></pre></div><div class="codebox"><pre><code>$vk57::
   Send, % &quot;{vk57 Down}{vk20 &quot;(IsState ? &quot;Up&quot;:&quot;Down&quot;)&quot;}&quot;
   KeyWait, vk57
   Send, % &quot;{vk57 Up}&quot;IsState:=!IsState
   Return</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Grey]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25792</uri>
			</author>
			<updated>2012-08-24T07:38:17Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=63089#p63089</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Зажать кнопку и держать зажатой]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=63085#p63085" />
			<content type="html"><![CDATA[<p>Первое, что пришло в голову <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br />Правда, не совсем то, что просили... Вторая кнопка не держится нажатой, а нажимается с определенными интервалами. <br /></p><div class="codebox"><pre><code>
F =
 
1:: ;&lt;-- первая кнопка
    F := !F
    SetTimer key2, 200 ;&lt;-- задержка между нажатиями второй кнопки
return

key2:
    if F
        Send 2 ;&lt;-- вторая кнопка
    else SetTimer key2, Off
return</code></pre></div>]]></content>
			<author>
				<name><![CDATA[KepocuH]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28557</uri>
			</author>
			<updated>2012-08-24T06:27:34Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=63085#p63085</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Зажать кнопку и держать зажатой]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=63084#p63084" />
			<content type="html"><![CDATA[<p>Если получится скинь пожалуйста код скрипта, тоже нужен подобный)</p>]]></content>
			<author>
				<name><![CDATA[Nikolaaa]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28563</uri>
			</author>
			<updated>2012-08-24T06:01:41Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=63084#p63084</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Зажать кнопку и держать зажатой]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=63082#p63082" />
			<content type="html"><![CDATA[<p><a href="http://l.autohotkey.net/docs/commands/While.htm">Англоязычная справка.</a></p>]]></content>
			<author>
				<name><![CDATA[Korobkof]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28148</uri>
			</author>
			<updated>2012-08-24T05:30:56Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=63082#p63082</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Зажать кнопку и держать зажатой]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=63080#p63080" />
			<content type="html"><![CDATA[<p>Необходимо по нажатию одной кнопки зажать вторую кнопку и держать эту вторую кнопку зажатой до последующего нажатия первой кнопки. Жму первую кнопку один раз, нажимается вторая кнопка и держится зажатой. Нажимаю первую кнопку второй раз, вторая кнопка отпускается, жму первую кнопку третий раз, зажимается вторая, жму первую кнопку четвертый раз - отпускается вторая ну и т.д. Я пробовал по-разному, но не получается:<br /></p><div class="codebox"><pre><code>Joy9::
{
Send {I}
}
Return
Joy9 Up::
{
Send {I Up}
}
Return</code></pre></div><div class="codebox"><pre><code>Joy9::
{
Send {I Down}
}
Joy9 Up::
{
Send {I Up}
}
Return</code></pre></div><div class="codebox"><pre><code>Joy9::
{
Send {I}
KeyWait, Joy9
Send {I Up}
}
Return</code></pre></div><div class="codebox"><pre><code>Joy9::
{
Send {I Down}
KeyWait, Joy9
Send {I Up}
}
Return</code></pre></div><p>Я пробовал использовать виртуальные коды клавиш, а так же использовать SendInput, SendPlay.<br />Пробовал использовать GetKeyState, While, if...<br />Но не получается правильно написать.<br />Я, кстати, не понимаю различия между if и while. Я не могу найти подробной справки про оператор while... Я гуглил, пытался найти на Сером форуме, autohotkey.com и т.д. Но не нашел. Нашел лишь разные семплы и программы... Скиньте, пожалуйста, ссылку на подробное описание оператора while.<br />Помогите, пожалуйста, корректно написать программу.</p>]]></content>
			<author>
				<name><![CDATA[sergeant.coolagin]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=25809</uri>
			</author>
			<updated>2012-08-24T01:49:35Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=63080#p63080</id>
		</entry>
</feed>
