<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: хоткей по двойному нажатию с зажатым модификатором]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=10496</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=10496&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: хоткей по двойному нажатию с зажатым модификатором».]]></description>
		<lastBuildDate>Sat, 14 Mar 2015 08:32:47 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: хоткей по двойному нажатию с зажатым модификатором]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=92510#p92510</link>
			<description><![CDATA[<p>Благодарю за ответы. Поколдую с вашими вариантами. Прошу прощения, если поднял уже многократно обсужденный вопрос. Треды, где обсуждалось обычное двойное нажатие, я нашел, но с зажатым модификатором вызвало у меня затруднение.</p>]]></description>
			<author><![CDATA[null@example.com (Kamagi)]]></author>
			<pubDate>Sat, 14 Mar 2015 08:32:47 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=92510#p92510</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: хоткей по двойному нажатию с зажатым модификатором]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=92503#p92503</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>произвожу двойное, тройное или длительное нажатие одной клавиши</p></blockquote></div><p>Вопрос поднимался неоднократно, думаю что <br />это поможет в большинстве случаев:<br /></p><div class="codebox"><pre><code>
#UseHook 

!1::
&lt;^!+#2::
    HK := RegExReplace(A_ThisHotkey, &quot;S)[\Q+^!#&lt;&gt;~*$\E]&quot;), i := 0  
    KeyWait, %HK%, T0.7
    If !ErrorLevel 
        Loop  {
            KeyWait, %HK%
            KeyWait, %HK%, D T0.3
        } Until !(++i) || ErrorLevel 
    Try Gosub % A_ThisHotkey &quot;_&quot; i 
    Return

!1_3:  
    MsgBox Alt+1+1+1 
    Return
    
!1_0:   
    MsgBox Удержание Alt+1 более 0.7 секунд
    Return
    
&lt;^!+#2_5: 
    MsgBox LCtrl+Alt+Shift+Win+2+2+2+2+2
    Return
</code></pre></div><br /><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header"><strong>+</strong>&nbsp;2 вариант, с регистрацией длительного удержания на любом этапе.</div><div class="fancy_spoiler"><div class="codebox"><pre><code>
#UseHook 

!1::
&lt;^!+#2::
    HK := RegExReplace(A_ThisHotkey, &quot;S)[\Q+^!#&lt;&gt;~*$\E]&quot;), i := 0   
    Loop  {
        KeyWait, %HK%, T0.7
        i := ErrorLevel ? -1 : i
        KeyWait, %HK%, D T0.2
    } Until !(++i) || ErrorLevel 
    Try Gosub % A_ThisHotkey &quot;_&quot; i 
    Return

!1_3:  
    MsgBox Alt+1+1+1 
    Return
    
!1_0:   
    MsgBox Удержание Alt+1 более 0.7 секунд
    Return
    
&lt;^!+#2_5: 
    MsgBox LCtrl+Alt+Shift+Win+2+2+2+2+2
    Return
</code></pre></div></div></div>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Fri, 13 Mar 2015 19:17:20 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=92503#p92503</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: хоткей по двойному нажатию с зажатым модификатором]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=92502#p92502</link>
			<description><![CDATA[<p>Спасибо за ответ! Скрипт работает на &quot;ура!&quot;. Со своей стороны могу предложить работающий вариант для тройного нажатия: </p><div class="codebox"><pre><code>!1::
if Alt1_presses &gt; 0
{
Alt1_presses += 1
SetTimer, KeyAlt1, 300
return
}
Alt1_presses = 1
SetTimer, KeyAlt1, 300
return

KeyAlt1:
SetTimer, KeyAlt1, off
KeyWait, Alt, L     ; then up &quot;Alt&quot;
if Alt1_presses = 1
    MsgBox 1
else
if Alt1_presses = 2
    MsgBox 2
else
if Alt1_presses &gt;=  3
    MsgBox 3
Alt1_presses = 0
return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Kamagi)]]></author>
			<pubDate>Fri, 13 Mar 2015 17:51:45 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=92502#p92502</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: хоткей по двойному нажатию с зажатым модификатором]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=92501#p92501</link>
			<description><![CDATA[<p>Что-то типа этого?<br /></p><div class="codebox"><pre><code>
!1::
    KeyWait, 1
    KeyWait, 1, D T0.3
    If ErrorLevel = 1
        MsgBox, Alt+1
    Else
        MsgBox, Alt+1+1
    Return
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Fri, 13 Mar 2015 15:42:04 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=92501#p92501</guid>
		</item>
		<item>
			<title><![CDATA[AHK: хоткей по двойному нажатию с зажатым модификатором]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=92500#p92500</link>
			<description><![CDATA[<p>Приветствую!</p><p>Я работаю в программе, в которой Alt - основной модификатор. Мне уже не достаточно обычных хоткеев (Alt+1), есть намерение расширить функционал. К примеру, при зажатом Alt произвожу двойное, тройное или длительное нажатие одной клавиши - исполняется хоткей, отжимаю Alt. </p><p>Пробовал решить вопрос несколькими способами, и всё неудачно. <br />Буду рад помощи, совету. </p><p>Никак не реагирует на нажатие едички:</p><div class="codebox"><pre><code>Alt::

GetKeyState, state, Alt
    if State = D
        {
        KeyWait, 1, T1
        {
        if ErrorLevel = 1
            MsgBox 1
        Else 
            MsgBox 2
        }
        }
    else
        MsgBox Up</code></pre></div><p>KeyWait сразу идёт на else:<br /></p><div class="codebox"><pre><code>!1::
KeyWait, 1, D T1
if ErrorLevel = 1
MsgBox 1
else
MsgBox 2</code></pre></div><p>Редко и не понятно в какой ситуации выскакивает MsgBox 3:<br /></p><div class="codebox"><pre><code>Alt::
KeyWait, 1, D T1
if ErrorLevel = 1 
{
KeyWait, 1, D T1
if ErrorLevel = 1 
MsgBox 2
else
MsgBox 1

}
else 
MsgBox 3
Return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Kamagi)]]></author>
			<pubDate>Fri, 13 Mar 2015 15:08:13 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=92500#p92500</guid>
		</item>
	</channel>
</rss>
