<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Код обработки скрола не больше 3-х раз]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7155&amp;type=atom" />
	<updated>2012-04-28T08:04:57Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=7155</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Код обработки скрола не больше 3-х раз]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=59803#p59803" />
			<content type="html"><![CDATA[<p>Код ниже не решит вопрос с работоспособностью в упоминаемой специфической программе.<br /></p><div class="codebox"><pre><code>*WheelDown::
*WheelUp::
    If KeySequence(3, 70)
        Click % &quot;W&quot; SubStr(A_ThisHotkey, 7, 1)
    return

KeySequence(length, timeout)
{
    static clickCount := 0
    (A_ThisHotkey == A_PriorHotkey &amp;&amp; A_TimeSincePriorHotkey &lt; timeout)? clickCount += 1 : clickCount := 0
    return clickCount &lt; length
}</code></pre></div><p>Вариант ориентирующийся не на «переключение» нажатием клавиши, а на паузы между физическими кликами.<br />Суть: если метка горячей клавиши вызывается с периодичностью менее timeout числом раз более length — «оправки кликов для данной серии» приостанавливаются.</p>]]></content>
			<author>
				<name><![CDATA[creature.ws]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26105</uri>
			</author>
			<updated>2012-04-28T08:04:57Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=59803#p59803</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Код обработки скрола не больше 3-х раз]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=59793#p59793" />
			<content type="html"><![CDATA[<p>Огромное спасибо. Все работает так как я хотел <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> </p><p>Только в той программе что мне нужно оно не работает. Походу программа блокирует данные действия. </p><p>Еще раз спасибо.</p>]]></content>
			<author>
				<name><![CDATA[PhronemoS]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27923</uri>
			</author>
			<updated>2012-04-27T14:34:51Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=59793#p59793</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Код обработки скрола не больше 3-х раз]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=59790#p59790" />
			<content type="html"><![CDATA[<p>Не совсем понял сей поток мыслей, наверное это подойдет:<br /></p><div class="codebox"><pre><code>~*LShift::BWh := !Bwh, WCount := 0
*WheelUp::
*WheelDown::
   D := Substr(A_ThisHotKey, 7, 1)
   if (Prev &lt;&gt; D)
      Wcount := 0, Prev := D
   CountInc := (D = &quot;U&quot;) ? 1 : -1
   WCount += CountInc
   if (ABS(WCount) &lt; 4 || !BWh)
      MouseClick W%D%
   else
      WCount -= CountInc
return</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Irbis]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27384</uri>
			</author>
			<updated>2012-04-27T13:31:49Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=59790#p59790</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Код обработки скрола не больше 3-х раз]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=59788#p59788" />
			<content type="html"><![CDATA[<p>Да работает. Спасибо.</p><p>Возможно ли сделать чтоб число прыжков не могло превысить 3-х? </p><p>Сейчас получается так, что при нажатие LShift и скроле верх идет ограничение на 3, это все очень хорошо, а вот когда делаешь, для примера, два щелчка в низ, то значение скидывается, и потом вновь можно сделать 3-и щелчка верх.&nbsp; Возможно ли сделать как бы привязку не больше 3-х именно трех, получается когда я сделал щелчки верх, значение = 3 , когда я начинаю делать в низ то значение отминусовывается от 3-х, то есть если я сделаю 3 верх потом два назад, то скрипт позволит только сделать 2 скрола верх повторно.&nbsp; А не вновь 3. </p><br /><p>Надеюсь смог нормально объяснить.</p>]]></content>
			<author>
				<name><![CDATA[PhronemoS]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27923</uri>
			</author>
			<updated>2012-04-27T13:09:11Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=59788#p59788</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Код обработки скрола не больше 3-х раз]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=59784#p59784" />
			<content type="html"><![CDATA[<p>Все работает, если нажать - отпустить. А такое сообщение появляется, если как раз зажать клавишу LSift (нажать и не отпускать, если так понятней).<br />Чтобы оно не появлялось, исправьте 1ую строку:<br /></p><div class="codebox"><pre><code>~*LShift UP:: BWh := !Bwh, WCount := 0</code></pre></div><p>И кодировкв скрипта должна соответствовать версии АНК, это понятно, надеюсь.</p>]]></content>
			<author>
				<name><![CDATA[Irbis]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27384</uri>
			</author>
			<updated>2012-04-27T12:35:39Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=59784#p59784</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Код обработки скрола не больше 3-х раз]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=59782#p59782" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Irbis пишет:</cite><blockquote><p>Насколько я понял, под &quot;нажатием&quot; понимается одиночное действие, по типу переключателя, как CapsLock на клавиатуре.<br />Т.е. один раз нажал - включилось, второй раз - выключилось? (в отличие от <strong>за</strong>жатия).</p></blockquote></div><p>Да все верно. Проверил скрипт. Он не производит ограничение не больше 3-х скролов как верх так и в низ. Просто отображается потом уведомление:</p><p><span class="postimg"><img src="http://s019.radikal.ru/i615/1204/37/e9b8a04e65a3.png" alt="http://s019.radikal.ru/i615/1204/37/e9b8a04e65a3.png" /></span></p><br /><p>Возможно ли вообще написать такой скрип как я описывал? </p><p>Спасибо за помощь.</p>]]></content>
			<author>
				<name><![CDATA[PhronemoS]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27923</uri>
			</author>
			<updated>2012-04-27T12:08:46Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=59782#p59782</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Код обработки скрола не больше 3-х раз]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=59778#p59778" />
			<content type="html"><![CDATA[<p>Насколько я понял, под &quot;нажатием&quot; понимается одиночное действие, по типу переключателя, как CapsLock на клавиатуре.<br />Т.е. один раз нажал - включилось, второй раз - выключилось? (в отличие от <strong>за</strong>жатия). <br /></p><div class="codebox"><pre><code>; AHK_L 1.1.07.03
~*LShift::BWh := !Bwh, WCount := 0
*WheelUp::
*WheelDown::
   D := Substr(A_ThisHotKey, 7, 1)
   CountInc := (D = &quot;U&quot;) ? 1 : -1
   WCount += CountInc
   if (ABS(WCount) &lt; 4 || !BWh)
	  MouseClick W%D%
   else
      WCount -= CountInc
return</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Irbis]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27384</uri>
			</author>
			<updated>2012-04-27T09:44:56Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=59778#p59778</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Код обработки скрола не больше 3-х раз]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=59768#p59768" />
			<content type="html"><![CDATA[<p>Здравствуйте.</p><p>Недавно только начал изучать AHK, хочу попросить у Вас совета. </p><p>Задача состоит такова:</p><p>При нажатие клавиши LShift должна активироваться блокировка скрола мыши, а именно не больше 3-х &quot;нажатий/скачков&quot; вперед либо назад.</p><p>Простым текстом.</p><p>Нажав на LShift Скрол мыши может сделать либо 3-и скачка вперед либо три скачка назад. Сколько не крути скрол вперед он не сделает больше 3-х скачков, так же сколько не крути его назад он так же не может сделать больше трех скачков. </p><p>Задача такова, </p><p>Чтоб был счетчик количества скатчков скрола, при нажатие LShift активируется счетчик, который следит, если значение WheelUp достигло = 3 то остановить дальнейшее выполнение WheelUp (заблокировать скрол прокрутки вверх), если после остановки WheelUp было сделано WheelDown то сбросить счетчик WheelUp и вести подсчет WheelDown&nbsp; &nbsp;, и вновь если WheelDown достиг 3 скачков то запретить дальнейшее его выполнение. Ну и получается в обратном порядке.</p><p>Надеюсь смог объяснить нормально. </p><br /><p>Спасибо за внимание.</p>]]></content>
			<author>
				<name><![CDATA[PhronemoS]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27923</uri>
			</author>
			<updated>2012-04-26T20:42:00Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=59768#p59768</id>
		</entry>
</feed>
