<?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=7587</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7587&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Блокировка нажатых клавиш».]]></description>
		<lastBuildDate>Thu, 20 Sep 2012 06:25:08 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Блокировка нажатых клавиш]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=64008#p64008</link>
			<description><![CDATA[<div class="codebox"><pre><code>#if !FirstPress() ; клавиши указанные ниже будут срабатывать лишь если нажаты впервые
    vk57::
    vk41::
    vk53::
    vk44::return
#if FirstPress(key := LTrim(A_ThisHotkey, &quot;+&quot;)) ; клавиши указанные ниже будут срабатывать лишь если key была нажата более одного раза, при этом состояние key будет сброшено
    +vk57::
    +vk41::
    +vk53::
    +vk44::MsgBox клавиша %key% была заблокирована
#if

FirstPress(resetKeyState = &quot;&quot;)
{
    static KeyState := {}
    return resetKeyState? ObjRemove(KeyState, resetKeyState) : !ObjHasKey(KeyState, A_ThisHotkey) &amp;&amp; ObjInsert(KeyState, A_ThisHotkey, true)
}</code></pre></div><p>Прочитал первое сообщение <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br /></p><div class="codebox"><pre><code>#if !FirstPress()
    vk41::
    vk53::
    vk44::return
#if

FirstPress()
{
    static priorHotkey
    return priorHotkey &lt;&gt; A_ThisHotkey, priorHotkey := A_ThisHotkey
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (creature.ws)]]></author>
			<pubDate>Thu, 20 Sep 2012 06:25:08 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=64008#p64008</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Блокировка нажатых клавиш]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=64000#p64000</link>
			<description><![CDATA[<p>Спасибо, Irbis. Это оригинально, но можно ли подобное сделать как-то без SendInput? <br />Например, при нажатии на А - скрипт никак не реагирует, а если на А нажать еще раз - хоть сразу, хоть через час - не важно через какое время, т.е. при повторном нажатии на А - эта клавиша блокируется. И разблокируется лишь нажатием S или D как описано в первом посте.<br />Просто игрулька для которой нужен этот скрипт имеет жесткую систему защиты, любые эмулированные нажатия (любые send&#039;ы и им подобное) не проходят в окно игры. <br />Я копался в справке по АХК, вот vk41::return - блокирует клавишу, а как заблокировать ее при условии (повторное нажатие) и разблокировать при нажатии на другие определенные клавиши мне не понятно.</p>]]></description>
			<author><![CDATA[null@example.com (avgur)]]></author>
			<pubDate>Wed, 19 Sep 2012 22:53:58 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=64000#p64000</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Блокировка нажатых клавиш]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=63935#p63935</link>
			<description><![CDATA[<div class="codebox"><pre><code>*$vk41::
*$vk44::
*$vk53::
if (A_ThisHotKey != A_PriorHotKey)
   SendInput % &quot;{&quot; SubStr(A_ThisHotKey,3) &quot;}&quot;
Return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Irbis)]]></author>
			<pubDate>Tue, 18 Sep 2012 04:51:30 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=63935#p63935</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Блокировка нажатых клавиш]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=63931#p63931</link>
			<description><![CDATA[<p>Помогите выполнить следующую задачу:<br />Есть три клавиши A, S и D. <br />Надо сделать так чтобы если была нажата один раз клавиша А (или S или D), то она должна напечататься один раз и заблокироваться. А две другие клавиши разблокироваться.<br />Если нажать другую из оставшихся двух клавиш, например, S, то она должна напечататься один раз и заблокироваться, а D и А соответственно разблокироваться.</p>]]></description>
			<author><![CDATA[null@example.com (avgur)]]></author>
			<pubDate>Tue, 18 Sep 2012 00:31:42 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=63931#p63931</guid>
		</item>
	</channel>
</rss>
