<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: исключение клавиш из A_TimeIdlePhysical]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=11281</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=11281&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: исключение клавиш из A_TimeIdlePhysical».]]></description>
		<lastBuildDate>Tue, 23 Feb 2016 21:27:29 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: исключение клавиш из A_TimeIdlePhysical]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=101387#p101387</link>
			<description><![CDATA[<p><span style="color: grey">У меня похожий вопрос касательно зависимости работы скрипта от нажатия клавиш, поэтому, решил не создавать новую тему.</span></p><p>Необходимо назначить на нажатие сочентания клавиш <strong><span style="color: red">^{z}</span></strong> двойную команду Undo, т.е. <strong><span style="color: red">^{z 2}</span></strong>, но при условии, что перед этим было нажато сочетание клавиш <strong><span style="color: blue">+{f1}</span> </strong>или <strong><span style="color: blue">+{f3}</span></strong>, пропуская при этом ряд клавиш, а именно <span style="color: green"><strong>{f1}</strong>, <strong>{f2}</strong>, <strong>{f3}</strong>, <strong>{f11}</strong>, <strong>{m}</strong>, <strong>{Space}</strong></span>.</p><p>Т.е. если я, например, нажимаю на сочетание кавиш <strong><span style="color: blue">+{f3}</span></strong>, после чего нажимаю повторно одну клавишу <strong><span style="color: green">{f3}</span></strong>, либо не нажму ничего,&nbsp; то последующее нажатие на <strong><span style="color: red">^{z}</span></strong> вызовет двойной шаг назад. В любых других случаях Undo должен работать в привычном режиме.</p><p>upd: Открыл <a href="http://forum.script-coding.com/viewtopic.php?id=11356">тему</a>.</p>]]></description>
			<author><![CDATA[null@example.com (becauseim)]]></author>
			<pubDate>Tue, 23 Feb 2016 21:27:29 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=101387#p101387</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: исключение клавиш из A_TimeIdlePhysical]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=100838#p100838</link>
			<description><![CDATA[<p><strong>Alectric</strong></p><p>Спасибо огромное! скритп работает на ура! буду тестировать!</p>]]></description>
			<author><![CDATA[null@example.com (bubaaa)]]></author>
			<pubDate>Thu, 04 Feb 2016 06:14:03 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=100838#p100838</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: исключение клавиш из A_TimeIdlePhysical]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=100833#p100833</link>
			<description><![CDATA[<p>Нет, нужно было вернуть числа в привычный вид с помощью setformat.<br /></p><div class="codebox"><pre><code>#SingleInstance,Force

#InstallKeybdHook
p1 := [700, 310, 700, 310, 0xFFFFFF, 1]
p2 := [650, 253, 739, 299, 0x000000, 2]

SetFormat,IntegerFast,h ; устанавливаем формат чисел в HEX
starttime:=a_tickcount

; исключения
except=0x57`,0x41`,0x53`,0x44 ; виртуальные коды клавиш, для исключения из списка

Loop,0x91 ; перечисляем все виртуальные коды
{
  if instr(except,A_Index) ; за исключением списка
    continue ; продолжаем, не выполняя последующие строки
  Hotkey,% &quot;~*vk&quot; . A_Index,Label,On ; добавляем горячую клавишу на метку Label
}
SetFormat,IntegerFast,d
loop
{
  sleep,10
  TimeIdlePhysical+=a_tickcount-starttime
  starttime:=a_tickcount

  loop 2
  {
    PixelSearch, Px, Py, p%A_Index%[1], p%A_Index%[2], p%A_Index%[3] , p%A_Index%[4], p%A_Index%[5], 3, Fast
    if (!errorlevel and TimeIdlePhysical&gt;200)
    {
      send % p%A_Index%[6]
      break
    }
  }
}
return

Label:
TimeIdlePhysical=0
return

esc::
exitapp
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Alectric)]]></author>
			<pubDate>Wed, 03 Feb 2016 17:21:37 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=100833#p100833</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: исключение клавиш из A_TimeIdlePhysical]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=100832#p100832</link>
			<description><![CDATA[<p>Возможно что мне нужно отпарвлять значения, которые содержаться в p1 := [700, 310, 700, 310, 0xFFFFFF, 1], тоже в hex?</p>]]></description>
			<author><![CDATA[null@example.com (bubaaa)]]></author>
			<pubDate>Wed, 03 Feb 2016 14:56:24 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=100832#p100832</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: исключение клавиш из A_TimeIdlePhysical]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=100831#p100831</link>
			<description><![CDATA[<p>Спасибо. Но к сожалению скрипт не делает ничего. <br />Убираю комментарий с - send % p%A_Index%[6].<br />И тишина. Tooltip вижу, но цифры он не ставит.</p><br /><br /><br /><div class="quotebox"><cite>Alectric пишет:</cite><blockquote><div class="codebox"><pre><code>
#InstallKeybdHook
p1 := [700, 310, 700, 310, 0xFFFFFF, 1]
p2 := [650, 253, 739, 299, 0x000000, 2]

SetFormat,IntegerFast,h ; устанавливаем формат чисел в HEX
starttime:=a_tickcount

; исключения
except=0x57`,0x41`,0x53`,0x44 ; виртуальные коды клавиш, для исключения из списка

Loop,0x91 ; перечисляем все виртуальные коды
{
  if instr(except,A_Index) ; за исключением списка
    continue ; продолжаем, не выполняя последующие строки
  Hotkey,% &quot;~*vk&quot; . A_Index,Label,On ; добавляем горячую клавишу на метку Label
}

loop
{
  sleep,10
  TimeIdlePhysical+=a_tickcount-starttime
  starttime:=a_tickcount

  loop 2
  {
    PixelSearch, Px, Py, p%A_Index%[1], p%A_Index%[2], p%A_Index%[3] , p%A_Index%[4], p%A_Index%[5], 3, Fast
    if (!errorlevel and TimeIdlePhysical&gt;200)
    {
      tooltip,Действие.
      send % p%A_Index%[6]
      break
    }
  }
}
return

Label:
TimeIdlePhysical=0
return
</code></pre></div></blockquote></div>]]></description>
			<author><![CDATA[null@example.com (bubaaa)]]></author>
			<pubDate>Wed, 03 Feb 2016 14:53:19 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=100831#p100831</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: исключение клавиш из A_TimeIdlePhysical]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=100825#p100825</link>
			<description><![CDATA[<div class="codebox"><pre><code>
#InstallKeybdHook
p1 := [700, 310, 700, 310, 0xFFFFFF, 1]
p2 := [650, 253, 739, 299, 0x000000, 2]

SetFormat,IntegerFast,h ; устанавливаем формат чисел в HEX
starttime:=a_tickcount

; исключения
except=0x57`,0x41`,0x53`,0x44 ; виртуальные коды клавиш, для исключения из списка

Loop,0x91 ; перечисляем все виртуальные коды
{
  if instr(except,A_Index) ; за исключением списка
    continue ; продолжаем, не выполняя последующие строки
  Hotkey,% &quot;~*vk&quot; . A_Index,Label,On ; добавляем горячую клавишу на метку Label
}

loop
{
  sleep,10
  TimeIdlePhysical+=a_tickcount-starttime
  starttime:=a_tickcount

  loop 2
  {
    PixelSearch, Px, Py, p%A_Index%[1], p%A_Index%[2], p%A_Index%[3] , p%A_Index%[4], p%A_Index%[5], 3, Fast
    if (!errorlevel and TimeIdlePhysical&gt;200)
    {
      tooltip,Действие.
;      send % p%A_Index%[6]
      break
    }
  }
}
return

Label:
TimeIdlePhysical=0
return
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Alectric)]]></author>
			<pubDate>Wed, 03 Feb 2016 13:13:46 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=100825#p100825</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: исключение клавиш из A_TimeIdlePhysical]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=100822#p100822</link>
			<description><![CDATA[<p><strong>Alectric</strong><br />Добрый день.<br />не могу понять как совместить 2 скрипта.<br />У меня какой то бред получается. <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /></p><p>Каким образом заставить его просто работать без нажатия конопки мыши?</p><div class="codebox"><pre><code>
p1 := [700, 310, 700, 310, 0xFFFFFF, 1]
p2 := [650, 253, 739, 299, 0x000000, 2]


SetFormat,IntegerFast,h ; устанавливаем формат чисел в HEX

; исключения
except=0x11`,0x1`,0x2`,0x4`,0x5`,0x6`,0x51`,0x57`,0x45`,0x41`,0x53`,0x44

Loop,0x91 ; перечисляем все виртуальные коды, убавил до 0x91 (может глюк с ctrl пропадет)
{
  if instr(except,A_Index) ; за исключением списка
    continue ; продолжаем, не выполняя последующие строки
  Hotkey,% &quot;~*vk&quot; . A_Index,Label,On ; добавляем горячую клавишу на метку Label
}

Label: ; тут все понятно, думаю
AnyKey=1
return


*$Rbutton::
AnyKey=0 ; обнуляем переменную (&quot;либо ПКМ, новое нажатие на которую возобновляет цикл&quot;)
while GetKeyState(&quot;RButton&quot;,&quot;P&quot;) ; пока зажата кнопка - цикл работает
{
  if AnyKey ; если в AnyKey единица
  {
    if GetKeyState(&quot;LButton&quot;,&quot;P&quot;)
    {
                  loop 2
            {
                PixelSearch, Px, Py, p%A_Index%[1], p%A_Index%[2], p%A_Index%[3] , p%A_Index%[4], p%A_Index%[5], 3, Fast
                if !errorlevel
                {
					sleep 100
                    send % p%A_Index%[6]
                    break
                }
            }
      AnyKey=0
    }
    sleep,10 ; спим чтобы не нагружать проц
    continue ; продолжаем, не выполняя последующие строки
  }
  if CtrlActivate
  {
  Send,{LCtrl Down}{RButton}
  }
  else 
  {
  Send, {RButton} ; посылаем нажатие
  }
  tooltip,% A_Index ; для отладки
  Sleep, 15 ; спим чтобы не нагружать проц
}
return

esc:: ; аварийный выход, можно убрать
exitapp
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (bubaaa)]]></author>
			<pubDate>Wed, 03 Feb 2016 09:07:00 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=100822#p100822</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: исключение клавиш из A_TimeIdlePhysical]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=100802#p100802</link>
			<description><![CDATA[<p>Может <a href="http://forum.script-coding.com/viewtopic.php?pid=100583#p100583">этот</a> вариант переделать?<br /><span style="color: #eeeeee">Мне сейчас некогда.</span></p>]]></description>
			<author><![CDATA[null@example.com (Alectric)]]></author>
			<pubDate>Tue, 02 Feb 2016 18:02:19 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=100802#p100802</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: исключение клавиш из A_TimeIdlePhysical]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=100799#p100799</link>
			<description><![CDATA[<p><strong>yalanne</strong></p><p>Последняя версия установлена, <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /><br />не понимаю что за проблема. Переставил на x32 тоже не помогло.</p><p>В скрипте, я не вижу какой то остановки, может я что то не понимаю? <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (bubaaa)]]></author>
			<pubDate>Tue, 02 Feb 2016 14:41:59 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=100799#p100799</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: исключение клавиш из A_TimeIdlePhysical]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=100797#p100797</link>
			<description><![CDATA[<p>Попробуйте обновить ahk.<br /><a href="http://ahkscript.org/">ссылка.</a></p>]]></description>
			<author><![CDATA[null@example.com (yalanne)]]></author>
			<pubDate>Tue, 02 Feb 2016 14:32:53 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=100797#p100797</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: исключение клавиш из A_TimeIdlePhysical]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=100794#p100794</link>
			<description><![CDATA[<p><strong>yalanne</strong></p><p>Спасибо, но он вообще в Sleep не уходит. <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (bubaaa)]]></author>
			<pubDate>Tue, 02 Feb 2016 14:03:37 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=100794#p100794</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: исключение клавиш из A_TimeIdlePhysical]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=100793#p100793</link>
			<description><![CDATA[<div class="codebox"><pre><code>p1 := [700, 310, 700, 310, 0xFFFFFF, 1]
p2 := [650, 253, 739, 299, 0x000000, 2]

loop
{
            loop 2
            {
                PixelSearch, Px, Py, p%A_Index%[1], p%A_Index%[2], p%A_Index%[3] , p%A_Index%[4], p%A_Index%[5], 3, Fast
                if !errorlevel and !ContinueF()
                {
					sleep 1
                    send % p%A_Index%[6]
                    break
                }
            }
}

ContinueF()
{
loop 255
  if !(Format(&quot;vk{:x}&quot;,A_Index) ~= &quot;vk57|vk41|vk53|vk44|vk1|vk2|vk3&quot;)
    if GetKeyState( Format(&quot;vk{:x}&quot;,A_Index) , &quot;p&quot;)
	 return true
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (yalanne)]]></author>
			<pubDate>Tue, 02 Feb 2016 13:31:49 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=100793#p100793</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: исключение клавиш из A_TimeIdlePhysical]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=100784#p100784</link>
			<description><![CDATA[<p><strong>ypppu</strong><br />Готово.</p>]]></description>
			<author><![CDATA[null@example.com (bubaaa)]]></author>
			<pubDate>Tue, 02 Feb 2016 10:17:23 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=100784#p100784</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: исключение клавиш из A_TimeIdlePhysical]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=100783#p100783</link>
			<description><![CDATA[<p><span style="color: green"><strong>bubaaa</strong>, уберите мягкий знак в заголовке темы. Расставьте знаки препинания в конце предложений. Смайлики их не заменяют.</span></p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Tue, 02 Feb 2016 10:15:03 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=100783#p100783</guid>
		</item>
		<item>
			<title><![CDATA[AHK: исключение клавиш из A_TimeIdlePhysical]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=100777#p100777</link>
			<description><![CDATA[<p>Добрый день.<br />Прошу вашей помощи. Больше не к кому обратиться. <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /></p><p>Цель скрипта - поиск по координатам цвета, и в зависимости от цвета нажимается кнопка 1 или 2.<br />Если нажата любая кнопка - скрит приостанавливается. </p><p>Вопрос как исключить кнопки - w a s d из A_TimeIdlePhysical или возможно есть какое то другое решение?<br />То есть при нажатых w или a или s или d скрипт продолжал работать, он если нажата любая другая клавиша то ожидание и перезапуск sleep c 0</p><p>1) <br /></p><div class="codebox"><pre><code>
#InstallKeybdHook
p1 := [700, 310, 700, 310, 0xFFFFFF, 1]
p2 := [650, 253, 739, 299, 0x000000, 2]


SetTimer, CheckActivity, 100
Exit

CheckActivity:
loop
{
            loop 2
            {
                PixelSearch, Px, Py, p%A_Index%[1], p%A_Index%[2], p%A_Index%[3] , p%A_Index%[4], p%A_Index%[5], 3, Fast
                if !errorlevel and (A_TimeIdlePhysical &gt; 200) and !GetKeyState(&quot;wasd&quot;, &quot;p&quot;)
                {
                    send % p%A_Index%[6]
                    break
                }
            }
        
}
return
</code></pre></div><p>2) Тут получилось сделать данную проверку, но если зажата - допустим &quot;w&quot; и &quot;e&quot; скрипт не уходит в sleep.<br /></p><div class="codebox"><pre><code>
InstallKeybdHook

p1 := [700, 310, 700, 310, 0xFFFFFF, 1]
p2 := [650, 253, 739, 299, 0x000000, 2]


SetTimer, CheckActivity, 100
Exit

CheckActivity:
loop
{
	if(A_TimeIdlePhysical &lt; 200) and !(GetKeyState(&quot;w&quot;, &quot;p&quot;)) and !(GetKeyState(&quot;a&quot;, &quot;p&quot;)) and !(GetKeyState(&quot;s&quot;, &quot;p&quot;)) and !(GetKeyState(&quot;d&quot;, &quot;p&quot;))
		{
		sleep 750
		}
	else
		{
		loop 4
			{
			PixelSearch, Px, Py, p%A_Index%[1], p%A_Index%[2], p%A_Index%[3] , p%A_Index%[4], p%A_Index%[5], 3, Fast
			if !errorlevel
				{
				send % p%A_Index%[6]
				break
				}
			}
		}
}
return
</code></pre></div><p>3) Так же думал осуществить данную задачу со сбросом Sleep таймера и началом его заново, при нажатии клавиши.<br />Но не могу понять какие команды необходимо использовать.</p><div class="codebox"><pre><code>
if GetKeyState(&quot;w&quot;, &quot;p&quot;)
 		Sleep 1000
   если нажата еще раз, сбросить sleep до 0 и опять начать отсчет Sleep до 1000.
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (bubaaa)]]></author>
			<pubDate>Tue, 02 Feb 2016 09:24:02 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=100777#p100777</guid>
		</item>
	</channel>
</rss>
