<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: исп-ие ассоциативного массива для определения хоткеев]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=8549</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=8549&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: исп-ие ассоциативного массива для определения хоткеев».]]></description>
		<lastBuildDate>Sun, 11 Aug 2013 20:54:28 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: исп-ие ассоциативного массива для определения хоткеев]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=74417#p74417</link>
			<description><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>Попробуй как то так:<br /></p><div class="codebox"><pre><code>*#vk53::SendInput {Blind}{LWin Up}{RWin Up}{vk41}</code></pre></div><div class="quotebox"><blockquote><p>Но * не работает с комбинациями типа vk20 &amp; vk46</p></blockquote></div><p>Так и не надо чтоб работал:<br /></p><div class="codebox"><pre><code>1 &amp; 2::SendInput {Blind}{vk41} </code></pre></div><p>При зажатом ктрл так посылается ктрл + А.</p></blockquote></div><p>Спасибо. Я немного изменил скрипт с исп-ем ассоциативного массива для этого случая:<br /></p><div class="codebox"><pre><code>
KeyArr := {&quot;Space &amp; f&quot;: &quot;Right&quot;}
            
For Key in KeyArr
    Hotkey, %Key%, PressKey ; удалил * перед %Key%
Return
 
$Space::Send, {Space} ; чтобы пробел по прежнему работал

PressKey:
    Value := KeyArr[A_ThisHotkey]
    SendInput {Blind}{%Value%}
    Return
</code></pre></div><p>Тема может быть закрыта, всем большое спасибо за помощь</p>]]></description>
			<author><![CDATA[null@example.com (asaer)]]></author>
			<pubDate>Sun, 11 Aug 2013 20:54:28 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=74417#p74417</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: исп-ие ассоциативного массива для определения хоткеев]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=74396#p74396</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>При этом будет зажиматься клавиша Win (хоткей создается для #vk43, поэтому такой метод подойдет, если в хоткее нет !^+#</p></blockquote></div><p>Попробуй как то так:<br /></p><div class="codebox"><pre><code>*#vk53::SendInput {Blind}{LWin Up}{RWin Up}{vk41}</code></pre></div><div class="quotebox"><blockquote><p>Но * не работает с комбинациями типа vk20 &amp; vk46</p></blockquote></div><p>Так и не надо чтоб работал:<br /></p><div class="codebox"><pre><code>1 &amp; 2::SendInput {Blind}{vk41} </code></pre></div><p>При зажатом ктрл так посылается ктрл + А.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Sun, 11 Aug 2013 03:05:29 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=74396#p74396</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: исп-ие ассоциативного массива для определения хоткеев]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=74393#p74393</link>
			<description><![CDATA[<div class="quotebox"><cite>Irbis пишет:</cite><blockquote><p>заменить на<br /></p><div class="codebox"><pre><code>    SendInput % (GetKeyState(&quot;Control&quot;,&quot;P&quot;) ? &quot;^&quot; : &quot;&quot;)
              . (GetKeyState(&quot;Shift&quot;,&quot;P&quot;) ? &quot;+&quot; : &quot;&quot;)
              . (GetKeyState(&quot;Alt&quot;,&quot;P&quot;) ? &quot;!&quot; : &quot;&quot;)
              . &quot;{&quot; . Value . &quot;}&quot;
</code></pre></div></blockquote></div><p>получается след код:<br /></p><div class="codebox"><pre><code>
KeyArr := {&quot;#vk46&quot;: &quot;a&quot;}
            
For Key in KeyArr
    Hotkey, *%Key%, PressKey
Return

PressKey:
    ThisHotkey := SubStr(A_ThisHotkey, 2)    
    Value := KeyArr[ThisHotkey]
    
    SendInput % (GetKeyState(&quot;Control&quot;,&quot;P&quot;) ? &quot;^&quot; : &quot;&quot;)
              . (GetKeyState(&quot;Shift&quot;,&quot;P&quot;) ? &quot;+&quot; : &quot;&quot;)
              . (GetKeyState(&quot;Alt&quot;,&quot;P&quot;) ? &quot;!&quot; : &quot;&quot;)
              . &quot;{&quot; . Value . &quot;}&quot;
    
    Return
</code></pre></div><p>Работает, но при нажимании RCtrl, RShift, RAlt работает, но появляется пуск (т.е. посылается Win)</p><div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><p>Может проще так:<br /></p><div class="codebox"><pre><code>SendInput {Blind}{%Value%} </code></pre></div></blockquote></div><p>При этом будет зажиматься клавиша Win (хоткей создается для #vk43, поэтому такой метод подойдет, если в хоткее нет !^+#</p><p>Для создания хоткеев исп-ся<br /></p><div class="codebox"><pre><code>Hotkey, *%Key%, PressKey</code></pre></div><p>Но * не работает с комбинациями типа vk20 <strong>&amp;</strong> vk46, т.е. где первая клавиша не из множества !^+#<br />Итак используя ассоциативный массив - {&#039;vk20&amp;vk46&#039;: &#039;a&#039;}), хоткей назначается только на первую клавишу из комбинации, в моем примере - vk20. Как это исправить?</p>]]></description>
			<author><![CDATA[null@example.com (asaer)]]></author>
			<pubDate>Sat, 10 Aug 2013 20:32:51 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=74393#p74393</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: исп-ие ассоциативного массива для определения хоткеев]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=74377#p74377</link>
			<description><![CDATA[<p>Может проще так:<br /></p><div class="codebox"><pre><code>SendInput {Blind}{%Value%} </code></pre></div>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Sat, 10 Aug 2013 14:12:14 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=74377#p74377</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: исп-ие ассоциативного массива для определения хоткеев]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=74371#p74371</link>
			<description><![CDATA[<div class="quotebox"><cite>asaer пишет:</cite><blockquote><p>только если при нажатии, напр, #f, зажата клавиша(-ы) Ctrl, Alt, Shift, она(-и) тоже посылалась(-ись), т.е. чтобы при нажатии ^#f посылала ^a, ^!#f посылала ^!a и т.п.</p></blockquote></div><p>Строчку </p><div class="codebox"><pre><code>SendInput {%Value%} </code></pre></div><p>заменить на<br /></p><div class="codebox"><pre><code>    SendInput % (GetKeyState(&quot;Control&quot;,&quot;P&quot;) ? &quot;^&quot; : &quot;&quot;)
              . (GetKeyState(&quot;Shift&quot;,&quot;P&quot;) ? &quot;+&quot; : &quot;&quot;)
              . (GetKeyState(&quot;Alt&quot;,&quot;P&quot;) ? &quot;!&quot; : &quot;&quot;)
              . &quot;{&quot; . Value . &quot;}&quot;</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Irbis)]]></author>
			<pubDate>Sat, 10 Aug 2013 11:28:24 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=74371#p74371</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: исп-ие ассоциативного массива для определения хоткеев]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=74353#p74353</link>
			<description><![CDATA[<p>Уф фуф фуф. <span class="bbu"> и замена клавишы RAlt клавишей Ctrl</span> ведь можно удалить!?</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Fri, 09 Aug 2013 20:54:24 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=74353#p74353</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: исп-ие ассоциативного массива для определения хоткеев]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=74351#p74351</link>
			<description><![CDATA[<div class="quotebox"><cite>Модератор пишет:</cite><blockquote><p>Выберите какой-то один вопрос, остальные обсуждайте в других темах.</p></blockquote></div><p>На замечания модераторов&nbsp; у нас реагируют соответствующе.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Fri, 09 Aug 2013 20:29:50 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=74351#p74351</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: исп-ие ассоциативного массива для определения хоткеев]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=74350#p74350</link>
			<description><![CDATA[<p><strong>serzh82saratov</strong>, <br />Почти то, что нужно<br /></p><div class="codebox"><pre><code>
KeyArr := {&quot;#vk46&quot;: &quot;a&quot;, &quot;#vk47&quot;: &quot;b&quot;}
For Key in KeyArr
    Hotkey, *%Key%, PressKey
Return
 
PressKey:
    ThisHotkey := SubStr(A_ThisHotkey, 2)
    Value := KeyArr[ThisHotkey]
    SendInput {%Value%} 
    Return
</code></pre></div><p>только если при нажатии, напр, #f, зажата клавиша(-ы) Ctrl, Alt, Shift, она(-и) тоже посылалась(-ись), т.е. чтобы при нажатии ^#f посылала ^a, ^!#f посылала ^!a и т.п.</p>]]></description>
			<author><![CDATA[null@example.com (asaer)]]></author>
			<pubDate>Fri, 09 Aug 2013 20:24:05 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=74350#p74350</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: исп-ие ассоциативного массива для определения хоткеев]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=74339#p74339</link>
			<description><![CDATA[<p><span style="color: #008800"><strong>asaer</strong>, прочитайте указанную выше ссылку, отредактируйте заголовок. Также ознакомьтесь с <a href="http://forum.script-coding.com/rules.html">Правилами форума</a>, в частности с <a href="http://forum.script-coding.com/rules.html#3.11.">этим</a>. Выберите какой-то один вопрос, остальные обсуждайте в других темах.</span></p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Fri, 09 Aug 2013 13:54:33 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=74339#p74339</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: исп-ие ассоциативного массива для определения хоткеев]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=74330#p74330</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>1. Как можно использовать ассоциативный массив в AHK?</p></blockquote></div><p>Смотря для чего... Опишите задачу.<br /></p><div class="quotebox"><blockquote><p>2. Как можно создать горячие комбинации клавиш имея такой ассоциативный массив вида [&#039;#f&#039;: &#039;a&#039;, &#039;#g&#039;: &#039;b&#039; и т.п.], где ключ обозначает комбинацию клавиш, кот мы переопределяем, значение - что мы посылаем. При этом чтобы при нажимании клавиш модификаторов Ctrl, Shift, Alt, они тоже посылались, даже если нажаты все три модификатора сразу.</p></blockquote></div><p>Незнаю правильно ли я понял:<br /></p><div class="codebox"><pre><code>
KeyArr := {&quot;#vk46&quot;: &quot;a&quot;, &quot;#vk47&quot;: &quot;b&quot;}
For Key in KeyArr
    Hotkey, *%Key%, PressKey
Return
 
PressKey:
    ThisHotkey := SubStr(A_ThisHotkey, 2)
    Value := KeyArr[ThisHotkey]
    SendInput {%Value%} 
    Return
</code></pre></div><div class="quotebox"><blockquote><p>3. Как поменять клавишу модификатор на другую, например, чтобы при нажимании правого альта (RAlt) посылался Ctrl, при этом, нужно менять подобные комбинации:</p></blockquote></div><p> </p><div class="codebox"><pre><code>
RAlt &amp; vk46:: SendInput ^{vk46}
Shift &amp; RAlt:: SendInput +^{vk46}
LAlt &amp; RAlt:: SendInput !^{vk46}
</code></pre></div><p>--------------------------------------------</p><p>И прочитайте это -<a href="http://forum.script-coding.com/viewtopic.php?id=5421">http://forum.script-coding.com/viewtopic.php?id=5421</a>.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Thu, 08 Aug 2013 22:54:32 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=74330#p74330</guid>
		</item>
		<item>
			<title><![CDATA[AHK: исп-ие ассоциативного массива для определения хоткеев]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=74329#p74329</link>
			<description><![CDATA[<p>Здравствуйте. </p><p>Как можно создать горячие комбинации клавиш имея ассоциативный массив вида {&#039;#f&#039;: &#039;a&#039;, &#039;#g&#039;: &#039;b&#039; и т.п.}, где ключ обозначает комбинацию клавиш, кот мы переопределяем, значение - что мы посылаем. <br />А если при нажатии, напр, #f, зажата клавиша(-ы) Ctrl, Alt, Shift, она(-и) тоже посылалась(-ись), т.е. чтобы при нажатии ^#f посылала ^a, ^!#f посылала ^!a и т.п.</p><p>Заранее спасибо.</p>]]></description>
			<author><![CDATA[null@example.com (asaer)]]></author>
			<pubDate>Thu, 08 Aug 2013 22:11:45 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=74329#p74329</guid>
		</item>
	</channel>
</rss>
