<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: исключение клавиш из A_TimeIdlePhysical]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=11281&amp;type=atom" />
	<updated>2016-02-23T21:27:29Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=11281</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: исключение клавиш из A_TimeIdlePhysical]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=101387#p101387" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[becauseim]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33149</uri>
			</author>
			<updated>2016-02-23T21:27:29Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=101387#p101387</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: исключение клавиш из A_TimeIdlePhysical]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=100838#p100838" />
			<content type="html"><![CDATA[<p><strong>Alectric</strong></p><p>Спасибо огромное! скритп работает на ура! буду тестировать!</p>]]></content>
			<author>
				<name><![CDATA[bubaaa]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28631</uri>
			</author>
			<updated>2016-02-04T06:14:03Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=100838#p100838</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: исключение клавиш из A_TimeIdlePhysical]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=100833#p100833" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Alectric]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26027</uri>
			</author>
			<updated>2016-02-03T17:21:37Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=100833#p100833</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: исключение клавиш из A_TimeIdlePhysical]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=100832#p100832" />
			<content type="html"><![CDATA[<p>Возможно что мне нужно отпарвлять значения, которые содержаться в p1 := [700, 310, 700, 310, 0xFFFFFF, 1], тоже в hex?</p>]]></content>
			<author>
				<name><![CDATA[bubaaa]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28631</uri>
			</author>
			<updated>2016-02-03T14:56:24Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=100832#p100832</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: исключение клавиш из A_TimeIdlePhysical]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=100831#p100831" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[bubaaa]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28631</uri>
			</author>
			<updated>2016-02-03T14:53:19Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=100831#p100831</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: исключение клавиш из A_TimeIdlePhysical]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=100825#p100825" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Alectric]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26027</uri>
			</author>
			<updated>2016-02-03T13:13:46Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=100825#p100825</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: исключение клавиш из A_TimeIdlePhysical]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=100822#p100822" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[bubaaa]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28631</uri>
			</author>
			<updated>2016-02-03T09:07:00Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=100822#p100822</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: исключение клавиш из A_TimeIdlePhysical]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=100802#p100802" />
			<content type="html"><![CDATA[<p>Может <a href="http://forum.script-coding.com/viewtopic.php?pid=100583#p100583">этот</a> вариант переделать?<br /><span style="color: #eeeeee">Мне сейчас некогда.</span></p>]]></content>
			<author>
				<name><![CDATA[Alectric]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26027</uri>
			</author>
			<updated>2016-02-02T18:02:19Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=100802#p100802</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: исключение клавиш из A_TimeIdlePhysical]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=100799#p100799" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[bubaaa]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28631</uri>
			</author>
			<updated>2016-02-02T14:41:59Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=100799#p100799</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: исключение клавиш из A_TimeIdlePhysical]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=100797#p100797" />
			<content type="html"><![CDATA[<p>Попробуйте обновить ahk.<br /><a href="http://ahkscript.org/">ссылка.</a></p>]]></content>
			<author>
				<name><![CDATA[yalanne]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32850</uri>
			</author>
			<updated>2016-02-02T14:32:53Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=100797#p100797</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: исключение клавиш из A_TimeIdlePhysical]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=100794#p100794" />
			<content type="html"><![CDATA[<p><strong>yalanne</strong></p><p>Спасибо, но он вообще в Sleep не уходит. <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[bubaaa]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28631</uri>
			</author>
			<updated>2016-02-02T14:03:37Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=100794#p100794</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: исключение клавиш из A_TimeIdlePhysical]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=100793#p100793" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[yalanne]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32850</uri>
			</author>
			<updated>2016-02-02T13:31:49Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=100793#p100793</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: исключение клавиш из A_TimeIdlePhysical]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=100784#p100784" />
			<content type="html"><![CDATA[<p><strong>ypppu</strong><br />Готово.</p>]]></content>
			<author>
				<name><![CDATA[bubaaa]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28631</uri>
			</author>
			<updated>2016-02-02T10:17:23Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=100784#p100784</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: исключение клавиш из A_TimeIdlePhysical]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=100783#p100783" />
			<content type="html"><![CDATA[<p><span style="color: green"><strong>bubaaa</strong>, уберите мягкий знак в заголовке темы. Расставьте знаки препинания в конце предложений. Смайлики их не заменяют.</span></p>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2016-02-02T10:15:03Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=100783#p100783</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: исключение клавиш из A_TimeIdlePhysical]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=100777#p100777" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[bubaaa]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=28631</uri>
			</author>
			<updated>2016-02-02T09:24:02Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=100777#p100777</id>
		</entry>
</feed>
