<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Зажатие клавиш с alt shift ctrl]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=15309&amp;type=atom" />
	<updated>2020-04-21T08:23:21Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=15309</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Зажатие клавиш с alt shift ctrl]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=139103#p139103" />
			<content type="html"><![CDATA[<p>Большое спасибо, все прекрасно работает.<br />Но остался еще один небольшой вопрос.<br />Чтобы это все работало не только с&nbsp; цифрами 1-5, а еще на других клавишах нам нужно loop сменить с 5 на 5+ количество дополнительных кнопок? и как вставить в &quot;key&quot; другие кнопочки?</p>]]></content>
			<author>
				<name><![CDATA[Eio]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=40756</uri>
			</author>
			<updated>2020-04-21T08:23:21Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=139103#p139103</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Зажатие клавиш с alt shift ctrl]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=139093#p139093" />
			<content type="html"><![CDATA[<p>Если верить текстовым редакторам, то у меня спам кнопок происходит и без скриптов, если кнопку нажать и не отпускать.<br />Ваш пример, в котором, в бесконечном цикле проверяется нажата ли некоторая кнопка из набора не подразумевает нажатия кнопок вместе с кнопками-модификаторами. Чтобы это стало происходить, нужно добавить ещё одно проверяемое условие — нажата ли кнопка-модификатор и, соответственно, посылать её в комбинации. Например, с участием &quot;Alt&quot;:<br /></p><div class="codebox"><pre><code>
Loop {
	Loop 5 {
		key := &quot;vk3&quot; . A_Index
		if (GetKeyState(key)) {
			send_me := Format(&quot;{1}{{2}}&quot;, GetKeyState(&quot;Alt&quot;) ? &quot;!&quot; : &quot;&quot;, key)
			Send %send_me%
		}
	}
}
</code></pre></div><p>Хоткеи — не моя &quot;стихия&quot;, но, на мой взгляд, такая конструкция чрезмерно не эффективна. Лучше создать хоткеи для каждой кнопки и их комбинаций, например:<br /></p><div class="codebox"><pre><code>
#MaxHotkeysPerInterval 100
Loop 5 {
	key 	  := &quot;sc&quot; . (1 + A_Index)
	alt_key   := Format(&quot;!{}&quot;, key)
	ctrl_key  := Format(&quot;^{}&quot;, key)
	shift_key := Format(&quot;+{}&quot;, key)
	
	send_key       := Format(&quot;{{1}}&quot;, key)
	send_alt_key   := Format(&quot;!{{1}}&quot;, key)
	send_ctrl_key  := Format(&quot;^{{1}}&quot;, key)
	send_shift_key := Format(&quot;+{{1}}&quot;, key)
	
	fn       := Func(&quot;PressButton&quot;).Bind(send_key)
	alt_fn   := Func(&quot;PressButton&quot;).Bind(send_alt_key)
	ctrl_fn  := Func(&quot;PressButton&quot;).Bind(send_ctrl_key)
	shift_fn := Func(&quot;PressButton&quot;).Bind(send_shift_key)
	
	Hotkey,% key,% fn
	Hotkey,% alt_key,% alt_fn
	Hotkey,% ctrl_key,% ctrl_fn
	Hotkey,% shift_key,% shift_fn
}

PressButton(send_me) {
	Send %send_me%
}
</code></pre></div><p>Здесь, динамически создаётся пять хоткеев для кнопок с 1 по 5 включительно, а так же для комбинаций кнопок модификаторов с каждой из них.</p>]]></content>
			<author>
				<name><![CDATA[KusochekDobra]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=33846</uri>
			</author>
			<updated>2020-04-20T08:39:48Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=139093#p139093</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Зажатие клавиш с alt shift ctrl]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=139056#p139056" />
			<content type="html"><![CDATA[<p>Здравствуйте.<br />Нужен скрипт который бы при нажатии на кнопку(1-2-3-...) спамил ее, но при зажатом альте с цифрами спамил бы альт+1, альт+2,альт+3...<br /></p><div class="codebox"><pre><code>
loop
{
if GetKeyState(&quot;vk31&quot;)
{
Send, {vk31}
}
if GetKeyState(&quot;vk32&quot;)
{
Send, {vk32}
}
if GetKeyState(&quot;vk33&quot;)
{
Send, {vk33}
}
if GetKeyState(&quot;vk34&quot;)
{
Send, {vk34}
}
if GetKeyState(&quot;vk35&quot;)
{
Send, {vk35}
}
}

</code></pre></div><p>При таком коде он, прекрасно спамит зажатые кнопки 1-5, но когда я нажимаю альт+1 в большинстве случаев он продолжает спамить &quot;1&quot;&nbsp; игнорируя то умение в игре, что стоит на &quot;альт+1&quot;,<br />что практически полностью&nbsp; перечеркивает всю пользу его использования. Как я понял без дополнительных манипуляций он откликается на альт+1 только если они были нажаты одновременно. А мне желательно чтоб альт+1 работало при зажатом альте когда я нажму &quot;1&quot;.</p>]]></content>
			<author>
				<name><![CDATA[Eio]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=40756</uri>
			</author>
			<updated>2020-04-16T07:40:35Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=139056#p139056</id>
		</entry>
</feed>
