<?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=7628</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7628&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Баг с залипанием клавиш».]]></description>
		<lastBuildDate>Wed, 26 Sep 2012 05:07:58 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Баг с залипанием клавиш]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=64219#p64219</link>
			<description><![CDATA[<p>На первый взгляд - помогло!<br />Благодарю.<br />Будем тестировать дальше.</p>]]></description>
			<author><![CDATA[null@example.com (astira)]]></author>
			<pubDate>Wed, 26 Sep 2012 05:07:58 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=64219#p64219</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Баг с залипанием клавиш]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=64205#p64205</link>
			<description><![CDATA[<p>Команды Send очень дружелюбны к пользователю, стараются «сделать как надо» несмотря ни на что.<br /></p><div class="quotebox"><blockquote><p>Кто-нибудь может объяснить, как это происходит</p></blockquote></div><p>Вызов процедур в которых выполняется команда Send вы производите при нажатии сочетания клавиш.<br />В момент выполнения команды Send вы, вероятно, еще не отпустили модификаторы используемые в данном сочетании.<br />Send перед «вводом какого-то текста» «отжимает» зажатые модификаторы, чтоб, если в тексте содержатся символы отправить которые можно эмулируя нажатия клавиш, нажатия не воспринимались как системные сочетания «модификатор + клавиша».<br />Возможно, система не всегда корректно воспринимает «отжатие» модификаторов alt, win и прочих.<br />Решением проблемы будет выполнять требуемые процедуры при отпускании всех модификаторов, используемых в горячей клавише.<br />Например:<br /></p><div class="codebox"><pre><code>#!r up::
    KeyWait, Lwin
    KeyWait, Rwin
    KeyWait, alt
    ; …</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (creature.ws)]]></author>
			<pubDate>Tue, 25 Sep 2012 13:53:10 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=64205#p64205</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Баг с залипанием клавиш]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=64189#p64189</link>
			<description><![CDATA[<p>Имеется следующий код, который вставляет макросы в Confluence при нажатии сочетаний клавиш.</p><div class="codebox"><pre><code>SaveSelectedTextAndOpenWikiDialog()
{
	global tCl
	tCl := Clipboard	
	Sleep, 50
	Send, {CTRLDOWN}{vk58}{CTRLUP}
	Send, {CTRLDOWN}{SHIFTDOWN}{vk44}{SHIFTUP}{CTRLUP}
}

CloseWikiDialogAndRestoreClipboard()
{
	global tCl
	Send, {Tab}	
	Send, {Enter}
	Clipboard := tCl
}

WikiConfHotKey(FirstWikiTag, SecondWikiTag = &quot;&quot;)
{
	SaveSelectedTextAndOpenWikiDialog()
	SendInput %FirstWikiTag%
	SendInput {Enter}
	if SecondWikiTag &lt;&gt;
	{
		SendInput %SecondWikiTag%
		SendInput {Enter}
	}
	Send {CTRLDOWN}{vk56}{CTRLUP}
	SendInput {Enter}
	if SecondWikiTag &lt;&gt;			
	{
		SendInput %SecondWikiTag%
		SendInput {Enter}
	}
	SendInput %FirstWikiTag%
	SendInput {Enter}
	CloseWikiDialogAndRestoreClipboard()
	return 
}

#!q::
WikiConfHotKey(&quot;{Raw}{quote}&quot;)
return 

#!e::
WikiConfHotKey(&quot;{Raw}{expand}&quot;)
return 

#!c::
WikiConfHotKey(&quot;{Raw}{code}&quot;)
return 

#!n::
WikiConfHotKey(&quot;{Raw}{note}&quot;)
return 

#!i::
WikiConfHotKey(&quot;{Raw}{info}&quot;)
return 

#!t::
WikiConfHotKey(&quot;{Raw}{tip}&quot;)
return 

#!w::
WikiConfHotKey(&quot;{Raw}{warning}&quot;)
return 

#!p::
WikiConfHotKey(&quot;{Raw}{panel}&quot;)
return 

#!a::
	SaveSelectedTextAndOpenWikiDialog()
	SendInput, {Raw}{anchor:%Clipboard%}
	;
	CloseWikiDialogAndRestoreClipboard()
return 


#!r::
	SaveSelectedTextAndOpenWikiDialog()
	SendInput {Raw}{expand:Код PB}
	SendInput {Enter}

	SendInput {Raw}{code:lang=javascript}
	SendInput {Enter}

	Send {CTRLDOWN}{vk56}{CTRLUP}
	SendInput {Enter}
	SendInput {Raw}{code}
	SendInput {Enter}
	SendInput {Raw}{expand}
	SendInput {Enter}
	CloseWikiDialogAndRestoreClipboard()
return

#!l::
	SaveSelectedTextAndOpenWikiDialog()
	SendInput, {Raw}[%Clipboard%|%tCl%#%Clipboard%]
	CloseWikiDialogAndRestoreClipboard()
return</code></pre></div><p>Иногда творится какая-то билеберда. <br />Например, блокируется пользователь (Win+L). Браузер реагирует, как будто пытались закрыть окно.</p><p>Я добавил следующий хоткей.<br /></p><div class="codebox"><pre><code>
*F12::
	MsgBox, % &quot;LShift = &quot; GetKeyState(&quot;LShift&quot;, &quot;P&quot;) &quot;`nLWin  = &quot; GetKeyState(&quot;LWin&quot;, &quot;P&quot;)  &quot;`nLCtrl   = &quot; GetKeyState(&quot;LCtrl&quot;, &quot;P&quot;) &quot;`nLAlt    = &quot; GetKeyState(&quot;LAlt&quot;, &quot;P&quot;)
	Return</code></pre></div><p>Иногда в окне показывается, что, например, Alt или LWin зажаты.</p><p>Кто-нибудь может объяснить, как это происходит? Заранее большое спасибо.</p>]]></description>
			<author><![CDATA[null@example.com (astira)]]></author>
			<pubDate>Tue, 25 Sep 2012 10:09:58 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=64189#p64189</guid>
		</item>
	</channel>
</rss>
