<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Зажатие клавиш с alt shift ctrl]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=15309</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=15309&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Зажатие клавиш с alt shift ctrl».]]></description>
		<lastBuildDate>Tue, 21 Apr 2020 08:23:21 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Зажатие клавиш с alt shift ctrl]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=139103#p139103</link>
			<description><![CDATA[<p>Большое спасибо, все прекрасно работает.<br />Но остался еще один небольшой вопрос.<br />Чтобы это все работало не только с&nbsp; цифрами 1-5, а еще на других клавишах нам нужно loop сменить с 5 на 5+ количество дополнительных кнопок? и как вставить в &quot;key&quot; другие кнопочки?</p>]]></description>
			<author><![CDATA[null@example.com (Eio)]]></author>
			<pubDate>Tue, 21 Apr 2020 08:23:21 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=139103#p139103</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Зажатие клавиш с alt shift ctrl]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=139093#p139093</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (KusochekDobra)]]></author>
			<pubDate>Mon, 20 Apr 2020 08:39:48 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=139093#p139093</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Зажатие клавиш с alt shift ctrl]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=139056#p139056</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (Eio)]]></author>
			<pubDate>Thu, 16 Apr 2020 07:40:35 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=139056#p139056</guid>
		</item>
	</channel>
</rss>
