<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Нажатие клавиши движением мыши]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=16672&amp;type=atom" />
	<updated>2021-10-21T11:47:00Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=16672</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Нажатие клавиши движением мыши]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=150184#p150184" />
			<content type="html"><![CDATA[<p>Если вам не важна точность в нажатии клавиш, но важна скорость, можете отправлять несколько нажатий при движении.<br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>CoordMode, Mouse, Screen
SetMouseDelay, -1
SetDefaultMouseSpeed, 0
default_X := A_ScreenWidth/2
default_Y := A_ScreenHeight/2
speed := 2

SetTimer, Reset, 50
Pause

Pause::Pause

Reset:
MouseGetPos, X, Y
dX := Abs(X - default_X)
dY := Abs(Y - default_Y)
If (dX &gt; dY)
    {
    If (X &lt; default_X)
    Send, {Left %speed%}
    If (X &gt; default_X)
    Send, {Right %speed%}
    }
If (dX &lt; dY)
    {
    If (Y &lt; default_Y)
    Send, {Up %speed%}
    If (Y &gt; default_Y)
    Send, {Down %speed%}
    }
MouseMove, default_X, default_Y
Return
F8::MouseGetPos, default_X, default_Y</code></pre></div></div></div>]]></content>
			<author>
				<name><![CDATA[Zmey25]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27845</uri>
			</author>
			<updated>2021-10-21T11:47:00Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=150184#p150184</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Нажатие клавиши движением мыши]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=150179#p150179" />
			<content type="html"><![CDATA[<p><strong>Meze</strong><br />По поводу многократного нажатия вместо зажатия, возможно стоит попробовать эмуляцию клавиш с указанием состояния (Left down / Left up), а про скрытие курсора нашёл <a href="http:////www.autohotkey.com/boards/viewtopic.php?f=76&amp;t=69555">тему</a>, думаю, это то, что нужно. У меня пока что нет возможности проверить самому, чуть позже протестирую и отпишу.</p>]]></content>
			<author>
				<name><![CDATA[v413ry4nk4]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=41375</uri>
			</author>
			<updated>2021-10-20T22:37:13Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=150179#p150179</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Нажатие клавиши движением мыши]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=150177#p150177" />
			<content type="html"><![CDATA[<p>Порылся еще в поиске и нашел примерно то, что нужно.</p><div class="codebox"><pre><code>CoordMode, Mouse, Screen
SetMouseDelay, -1
SetDefaultMouseSpeed, 0
default_X := A_ScreenWidth/2
default_Y := A_ScreenHeight/2

SetTimer, Reset, 50
Pause

Pause::Pause

Reset:
MouseGetPos, X, Y
dX := Abs(X - default_X)
dY := Abs(Y - default_Y)
If (dX &gt; dY)
    {
    If (X &lt; default_X)
    Send, {Left}
    If (X &gt; default_X)
    Send, {Right}
    }
If (dX &lt; dY)
    {
    If (Y &lt; default_Y)
    Send, {Up}
    If (Y &gt; default_Y)
    Send, {Down}
    }
MouseMove, default_X, default_Y
Return
F8::MouseGetPos, default_X, default_Y</code></pre></div><p>Но есть проблема, скрипт многократно нажимает кнопку, вместо зажатия, из-за чего скорость ввода заметно ниже. Ставил 1 в строчке &quot;SetTimer, Reset, 50&quot;, ускоряло но недостаточно. Можно еще как нибудь ускорить?<br />И еще невидимый курсор хорошая мысль, как это сделать?</p>]]></content>
			<author>
				<name><![CDATA[Meze]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=42065</uri>
			</author>
			<updated>2021-10-20T18:00:16Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=150177#p150177</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Нажатие клавиши движением мыши]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=150157#p150157" />
			<content type="html"><![CDATA[<p>Можно, когда-то даже такая тема была.<br />Один из простых вариантов реализации: скрипт ставит курсор в определённую точку, затем периодически проверяет, в какую сторону он сместился, возвращает в начальную точку, снова проверяет, и так по кругу. При этом можно курсор сделать временно невидимым, чтобы не мельтешил.<br />Кажись ещё был вариант посложнее, когда на мышку ставился хук.</p>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2021-10-20T16:02:17Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=150157#p150157</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Нажатие клавиши движением мыши]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=150154#p150154" />
			<content type="html"><![CDATA[<p>Доброго времени суток.<br />Нужен скрипт, в котором например движение мышкой вправо будет зажимать &quot;стрелочку вправо&quot;, и соответствующие стрелочки для всех направлений. Скрипт должен вкл/откл по кнопке F1. Возможно ли в принципе такое сделать?</p>]]></content>
			<author>
				<name><![CDATA[Meze]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=42065</uri>
			</author>
			<updated>2021-10-20T13:23:06Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=150154#p150154</id>
		</entry>
</feed>
