<?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=8608</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=8608&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Аналог "мертвых клавиш" и режима "залипания" клавиш».]]></description>
		<lastBuildDate>Tue, 08 Apr 2014 15:48:18 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Аналог "мертвых клавиш" и режима "залипания" клавиш]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=81586#p81586</link>
			<description><![CDATA[<div class="quotebox"><cite>Steve Key пишет:</cite><blockquote><p>Без ~ попробую.</p></blockquote></div><p>Без ~ работает, вроде, получше, но что-то не то?…<br />Попытаюсь понять, что не устраивает, отпишусь.</p>]]></description>
			<author><![CDATA[null@example.com (Steve Key)]]></author>
			<pubDate>Tue, 08 Apr 2014 15:48:18 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=81586#p81586</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Аналог "мертвых клавиш" и режима "залипания" клавиш]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=81569#p81569</link>
			<description><![CDATA[<p>Так это таймер без паузы, аналог команды GoSub. Сделано для того, чтобы не привязывать поток к хоткею. Это как раз и гарантирует перезапуск при каждом нажатии Shift.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Mon, 07 Apr 2014 20:15:39 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=81569#p81569</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Аналог "мертвых клавиш" и режима "залипания" клавиш]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=81568#p81568</link>
			<description><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>А Вы какой таймер имеете ввиду?</p></blockquote></div><p>ShiftUp<br />Без ~ попробую.</p>]]></description>
			<author><![CDATA[null@example.com (Steve Key)]]></author>
			<pubDate>Mon, 07 Apr 2014 20:09:40 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=81568#p81568</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Аналог "мертвых клавиш" и режима "залипания" клавиш]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=81566#p81566</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>когда бы таймер перезапускался, то оно бы &quot;стояло&quot; в форме &quot;нажат шифт&quot;…</p></blockquote></div><p>А Вы какой таймер имеете ввиду?</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Mon, 07 Apr 2014 18:46:51 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=81566#p81566</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Аналог "мертвых клавиш" и режима "залипания" клавиш]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=81565#p81565</link>
			<description><![CDATA[<p>Ну так это обработчик FAR реагирует на событие Shift Down, так как ему и положено, можете попробовать Shift без ~, событие Shift Up происходит только после последнего нажатия Shift через 1 секунду, смотрите:<br /></p><div class="codebox"><pre><code>
~Shift::   
    ToolTip % (Start := A_TickCount) &quot; {Shift Down}&quot; 
    Input
    SetTimer, ShiftUp, -1
    Return
     
ShiftUp:
    Input, v, L1 T1 V
    If ErrorLevel != NewInput
        ToolTip % A_TickCount - Start &quot; {Shift Up}&quot;
    Return
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Mon, 07 Apr 2014 17:32:08 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=81565#p81565</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Аналог "мертвых клавиш" и режима "залипания" клавиш]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=81564#p81564</link>
			<description><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>Ну он и перезапускается. А задержка 10 мс не может быть заметна.</p></blockquote></div><p>Заметил, вот запущен FAR, там меню нижнее меняется в зависимости от нажатого шифта, в частности.<br />Беру и &quot;долблю&quot; (с запущенной Вашей программой, ессно!) по шифту — и вижу, что меню периодически меняется, когда бы таймер перезапускался, то оно бы &quot;стояло&quot; в форме &quot;нажат шифт&quot;…</p>]]></description>
			<author><![CDATA[null@example.com (Steve Key)]]></author>
			<pubDate>Mon, 07 Apr 2014 14:39:04 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=81564#p81564</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Аналог "мертвых клавиш" и режима "залипания" клавиш]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=81563#p81563</link>
			<description><![CDATA[<p>Правильнее так:<br /></p><div class="codebox"><pre><code>
Shift::  
    SendInput {Shift Down}
    Input
    SetTimer, ShiftUp, -1 
    Return
     
ShiftUp:
    Input, v, L1 T1 V 
    If ErrorLevel != NewInput
        SendInput {Shift Up} 
    Return
</code></pre></div><p>-------------<br /></p><div class="quotebox"><blockquote><p>Вот бы ещё сделать, чтобы таймер перезапускался заново при каждом нажатии Shift, а так он отрабатывает некую выдержку, затем новое нажатие его заново запускает.</p></blockquote></div><p>Ну он и перезапускается. А задержка 10 мс не может быть заметна. Без SetBatchLines это вообще таймаут выполнения строк кода.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Mon, 07 Apr 2014 13:16:57 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=81563#p81563</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Аналог "мертвых клавиш" и режима "залипания" клавиш]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=81562#p81562</link>
			<description><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>С многократными нажатиями Shift не хорошо получается, тогда может так:</p></blockquote></div><p>Вот бы ещё сделать, чтобы таймер перезапускался заново при каждом нажатии Shift, а так он отрабатывает некую выдержку, затем новое нажатие его заново запускает.</p>]]></description>
			<author><![CDATA[null@example.com (Steve Key)]]></author>
			<pubDate>Mon, 07 Apr 2014 12:54:50 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=81562#p81562</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Аналог "мертвых клавиш" и режима "залипания" клавиш]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=81557#p81557</link>
			<description><![CDATA[<p>С многократными нажатиями Shift не хорошо получается, тогда может так:<br /></p><div class="codebox"><pre><code>
Shift::  
    SendInput {Shift Down}
    SetTimer, ShiftUp, -1 
    Return
     
ShiftUp:
    Input, SingleKey, L1 T1 V 
    If ErrorLevel != NewInput
        SendInput {Shift Up} 
    Return
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Mon, 07 Apr 2014 11:28:16 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=81557#p81557</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Аналог "мертвых клавиш" и режима "залипания" клавиш]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=81553#p81553</link>
			<description><![CDATA[<p>Значит не правильно понял задачу. Но тогда зачем такой длинный код.<br /></p><div class="codebox"><pre><code>
Shift:: 
    SendInput {Shift Down}
    Input, SingleKey, L1 T1 V
    SendInput {Shift Up} 
    Return
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Mon, 07 Apr 2014 11:14:44 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=81553#p81553</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Аналог "мертвых клавиш" и режима "залипания" клавиш]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=81546#p81546</link>
			<description><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>Проще дописать минус.</p></blockquote></div><p>Тут Вы совершенно правы, я это читал когда-то, но забыл, ибо программирую на AHK «от случая к случаю»...</p><div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>Вопрос в смысле проверки A_PriorHotkey. Проверки ST вполне достаточно.</p></blockquote></div><p>А вот тут Вы заблуждаетесь, если проверять только флаг, то шифт будет активен всегда ровно секунду (в нашем случае), даже если мы нажмём много буквенных клавиш, и все отобразятся заглавными, нам же нужно, чтобы именно одна буква «капитализировалась»...</p>]]></description>
			<author><![CDATA[null@example.com (Steve Key)]]></author>
			<pubDate>Mon, 07 Apr 2014 09:40:07 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=81546#p81546</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Аналог "мертвых клавиш" и режима "залипания" клавиш]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=81535#p81535</link>
			<description><![CDATA[<p>Проще дописать минус.<br /></p><div class="codebox"><pre><code> ~Shift::
  ST := 1
  settimer, ShiftTimer, -1000 
return


ShiftTimer:
  ST := 0
  return </code></pre></div><br /><p>Вопрос в смысле проверки A_PriorHotkey. Проверки ST вполне достаточно. Участие A_PriorKey было бы понятно наполовину, но A_PriorHotkey&nbsp; зачем.<br /></p><div class="codebox"><pre><code> #If ST</code></pre></div><p> По мне, тут вполне достаточно.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Mon, 07 Apr 2014 07:39:35 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=81535#p81535</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Аналог "мертвых клавиш" и режима "залипания" клавиш]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=81534#p81534</link>
			<description><![CDATA[<p>Хм, действительно, я остановился на стадии «работает - не трогай»...<br />Надо подправить:<br /></p><div class="codebox"><pre><code>#If (A_PriorHotkey = &quot;~Shift&quot;) and (ST = 1)</code></pre></div><p>и<br /></p><div class="codebox"><pre><code>ShiftTimer:
  settimer, ShiftTimer, off
  ST := 0
  return </code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Steve Key)]]></author>
			<pubDate>Mon, 07 Apr 2014 07:12:14 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=81534#p81534</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Аналог "мертвых клавиш" и режима "залипания" клавиш]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=81533#p81533</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>If A_PriorHotkey = &quot;~Shift&quot; and ST = 1</p></blockquote></div><p>А каков смысл использования в условии A_PriorHotkey?<br />И зачем постоянно включенный таймер?</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Mon, 07 Apr 2014 06:40:15 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=81533#p81533</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Аналог "мертвых клавиш" и режима "залипания" клавиш]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=81528#p81528</link>
			<description><![CDATA[<p>По залипанию шифта — шикарная штука! Весьма помогает.<br />Всё-же, практически следует ограничить время такого &quot;залипания&quot;, а то нажал полчаса назад шифт, а он до сих пор залипши…<br />Также надо дать возможность отменить залипание ранее, чем истечёт &quot;его время&quot;.<br /></p><div class="codebox"><pre><code>ST := 0
  return

~Shift::
  ST := 1
  settimer, ShiftTimer, 1000 ; Кол-во миллисекунд для сохранения состояния шифта
  return

#If A_PriorHotkey = &quot;~Shift&quot; and ST = 1

  BackSpace::return

    vk51::+vk51  ; Й
    vk57::+vk57  ; Ц
    vk45::+vk45  ; У
    vk52::+vk52  ; К
    vk54::+vk54  ; Е
    vk59::+vk59  ; Н
    vk55::+vk55  ; Г
    vk49::+vk49  ; Ш
    vk4F::+vk4F  ; Щ
    vk50::+vk50  ; З
    vkDB::+vkDB  ; Х
    vkDD::+vkDD  ; Ъ
    
    vk41::+vk41  ; Ф
    vk53::+vk53  ; Ы
    vk44::+vk44  ; В
    vk46::+vk46  ; А
    vk47::+vk47  ; П
    vk48::+vk48  ; Р
    vk4A::+vk4A  ; О
    vk4B::+vk4B  ; Л
    vk4C::+vk4C  ; Д
    vkBA::+vkBA  ; Ж
    vkDE::+vkDE  ; Э
    
    vk5A::+vk5A  ; Я
    vk58::+vk58  ; Ч
    vk43::+vk43  ; С
    vk56::+vk56  ; М
    vk42::+vk42  ; И
    vk4E::+vk4E  ; Т
    vk4D::+vk4D  ; Ь
    vkBC::+vkBC  ; Б
    vkBE::+vkBE  ; Ю
    vkBF::+vkBF  ; .
    
    vkC0::+vkC0  ; Ё
    vk31::+vk31  ; 1
    vk32::+vk32  ; 2
    vk33::+vk33  ; 3
    vk34::+vk34  ; 4
    vk35::+vk35  ; 5
    vk36::+vk36  ; 6
    vk37::+vk37  ; 7
    vk38::+vk38  ; 8
    vk39::+vk39  ; 9
    vk30::+vk30  ; 0
    vkBD::+vkBD  ; -
    vkBB::+vkBB  ; =
    
#If

ShiftTimer:
  ST := 0
  return 
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Steve Key)]]></author>
			<pubDate>Sun, 06 Apr 2014 14:26:44 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=81528#p81528</guid>
		</item>
	</channel>
</rss>
