<?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=9726&amp;type=atom" />
	<updated>2014-06-22T10:09:10Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=9726</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Двойное нажатие]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=84076#p84076" />
			<content type="html"><![CDATA[<p>В общем разобрался. Спасибо.</p>]]></content>
			<author>
				<name><![CDATA[raznoczvetov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32329</uri>
			</author>
			<updated>2014-06-22T10:09:10Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=84076#p84076</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Двойное нажатие]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=84071#p84071" />
			<content type="html"><![CDATA[<p>Да, но так она запускает второе действие в любом случае, если клавиша нажата второй раз, а надо, чтобы было ограничение по времени. Т. е. - если клавиша нажата второй раз, в течении 300 милисекунд с момента отжатия этой клавиши, то запускается другое действие.</p><p>Я извиняюсь, если в первом сообщении сделал неправильную постановку задачи - думал из примера кода это будет понятно.</p>]]></content>
			<author>
				<name><![CDATA[raznoczvetov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32329</uri>
			</author>
			<updated>2014-06-22T08:23:24Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=84071#p84071</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Двойное нажатие]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=84070#p84070" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>$vk58:: ; X
Gosub % &quot;Action&quot; . p:= !p
KeyWait, vk58
Return
Action1:
   SendInput {vk58}
Return
Action0:
   SendInput {vk56}
Return</code></pre></div><p>Для отдельно взятого случая из двух чередующихся клавиш:<br /></p><div class="codebox"><pre><code>$vk58:: ; X
SendInput % (p:= !p) ? &quot;{vk58}&quot; : &quot;{vk56}&quot;
KeyWait, vk58
Return</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Irbis]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27384</uri>
			</author>
			<updated>2014-06-22T07:48:25Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=84070#p84070</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Двойное нажатие]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=84068#p84068" />
			<content type="html"><![CDATA[<p>Добрый день. Надо реализовать следующий сценарий двойного нажатия:<br />1. При нажатии клавиши (не при отпускании, а именно при нажатии) отправляется сама клавиша.<br />2. Если клавиша нажата второй раз, запускается другое действие.</p><p>Подскажите, пожалуйста, как это можно реализовать.<br />Не пойму, почему написанный мной сценарий не работает.</p><div class="codebox"><pre><code>$vk58::   ; клавиша X
Gosub, Action1
KeyWait, vk58

; Запускаем опрос клавиши на предмет второго нажатия
Loop
{
   If GetKeyState(vk58, &quot;P&quot;) = 1 ; если клавиша нажата (т. е. уже повторно нажата), то:
   {
      Goto, Action2
    }
   If (A_TimeSinceThisHotkey &gt; 300 ) ; если время прошедшее после нажатия хоткея больше заданного параметра (dlclick_time)
   Break ; прекратить цикл
}
Return

Action1:
Send, {vk58}
Return
      
Action2:
Send, {vk56}
Return</code></pre></div>]]></content>
			<author>
				<name><![CDATA[raznoczvetov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32329</uri>
			</author>
			<updated>2014-06-22T07:12:10Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=84068#p84068</id>
		</entry>
</feed>
