<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Click Middle удерживание нажатия]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=15243&amp;type=atom" />
	<updated>2020-03-20T16:31:37Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=15243</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Click Middle удерживание нажатия]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=138532#p138532" />
			<content type="html"><![CDATA[<p>Благодарю за помощь - сам разобрался!<br />Повесил на MButton 3 действия - одиночный клик, двойной клик и клик с недолгим удержанием (держит MButton в нажатом положении).<br />Если кому нужно, действия можно переназначить. Может пригодится и в игрухах.<br /></p><div class="codebox"><pre><code>
MButton::
	If (GetKeyState(&quot;MButton&quot;, &quot;P&quot;)) {
		Click Up Middle
		}
		
	; Двойной клик
	;If (A_ThisHotkey = A_PriorHotkey &amp;&amp; A_TimeSincePriorHotkey &lt;= 300) {
	If (A_ThisHotkey = A_PriorHotkey &amp;&amp; A_TimeSincePriorHotkey &lt;= DllCall(&quot;GetDoubleClickTime&quot;)) {
		KeyWait MButton, T0.5
		SendPlay {MButton Down}
		Return
		}
		
	; Удержание кнопки
	KeyWait MButton, T0.3
	If (ErrorLevel) {
		Click Down Middle
		Return
		}
		
	Click Middle
Return
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[DarkBrain]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=40689</uri>
			</author>
			<updated>2020-03-20T16:31:37Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=138532#p138532</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Click Middle удерживание нажатия]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=138514#p138514" />
			<content type="html"><![CDATA[<p>На тачпаде нужно сделать имитацию удерживания нажатой MButton по такой схеме:<br />Одиночный клик MButton работает в стандартном режиме.<br />Двойной клик MButton выполняет ее нажатие и удерживание.<br />Если MButton нажата, одиночный клик выполняет ее отпускание.</p><p>Готового решения не нашел.<br />Собрал всю инфу на форумах и по-быстрому сваял это:<br /></p><div class="codebox"><pre><code>
DoubleClickTime := DllCall(&quot;GetDoubleClickTime&quot;)

MButton::
	Click Middle
	
	If (A_PriorHotkey = A_ThisHotkey &amp;&amp; A_TimeSincePriorHotkey &lt;= DoubleClickTime) {
		Click Down Middle
		}
		Else {
			Click Up Middle
			}
Return
</code></pre></div><p>Работает нормально, но написано криво, т.к. вникать в тонкости пока нет возможности из-за банального отсутствия времени.<br />Буду премного благодарен за готовое решение вопроса!</p>]]></content>
			<author>
				<name><![CDATA[DarkBrain]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=40689</uri>
			</author>
			<updated>2020-03-18T11:32:12Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=138514#p138514</id>
		</entry>
</feed>
