<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: В #If не видно нажатия Shift'a повешенного на клавишу <>]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=7862</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7862&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: В #If не видно нажатия Shift'a повешенного на клавишу <>».]]></description>
		<lastBuildDate>Fri, 14 Dec 2012 10:51:15 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: В #If не видно нажатия Shift'a повешенного на клавишу <>]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=66970#p66970</link>
			<description><![CDATA[<p>В общем, если кого интересует, в чем заключалась проблема:</p><p>В самом начале скрипта, был установлен рекомендуемый для новых скриптов режим Input для команды Send. Так вот, почему-то в блоке #If не было видно нажатия Shift&#039;a, посылаемого с помощью метода Input, для посыла кодов Юникода. Заметил также проблемы с определением состояния конкретно левого или правого модификаторов (&lt;! &gt;^ и тп). </p><p>Проблема решалась посылом нажатий модификаторов с помощью команды SendEvent, либо удалением записи &quot;SendMode Input&quot;, что делало Send псевдонимом SendEvent.</p><p>Но почему-то, когда был запущен SciTE4AutoHotkey проблем не было, и все работало. Видимо, мой скрипт брал параметры SendMode из этой проги.</p><p>Вот, для наглядности:<br /></p><div class="codebox"><pre><code>SendMode Input

vkC0:: ; клавиша | ` | Вкл/откл раскладки MSREJ
MsrejOn := !MsrejOn
return

*$vkE2::Send, {LShift Down} ;клавиша &lt;&gt;
vkE2 Up::Send, {LShift Up}

*$RShift::Send, {LCtrl Down}{RAlt Down}
RShift Up::Send, {LCtrl Up}{RAlt Up}

*vkBF::SendEvent, {RShift Down} ; это точка в русской раскладке
vkBF Up::SendEvent, {RShift Up}

&lt;^&gt;!vk38::Send, {u+002a}  ;  * — не сработает
^!vk36::Send, {U+005e}   ; ^ — сработает

#If MsrejOn
; | J |
    vk4A::Send, {u+006f} ; o — сработает
    &lt;+vk4A::Send, {u+004f}   ; O — не сработает
    &gt;+vk4A::Send, {u+004f}   ; O — сработает
    ^!vk4A::Send, {u+00f6}   ; ? — не сработает
#If</code></pre></div><p>Вот такие дела…</p>]]></description>
			<author><![CDATA[null@example.com (Lexanni)]]></author>
			<pubDate>Fri, 14 Dec 2012 10:51:15 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=66970#p66970</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: В #If не видно нажатия Shift'a повешенного на клавишу <>]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=66847#p66847</link>
			<description><![CDATA[<p>Спасибо! Как вариант, отметил для себя. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br />Вообще, тут все очень странно… Например, такой вариант работает:<br /></p><div class="codebox"><pre><code>. . . . .
vkC0:: ; клавиша | ` | Вкл/откл раскладки MSREJ
MsrejOn := !MsrejOn
return

*$vkE2::Send, {LShift Down} ;клавиша &lt;&gt;
vkE2 Up::Send, {LShift Up}

#If MsrejOn
   
; | Q |
    vk51::Send, c
    +vk51::Send, C
    
; | W |
    vk57::Send, f
    +vk57::Send, F
. . . . . . 

#If</code></pre></div><p>Хотя, это работает только с буквами. С символами будет твориться какая-то хрень. <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (Lexanni)]]></author>
			<pubDate>Mon, 10 Dec 2012 16:28:37 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=66847#p66847</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: В #If не видно нажатия Shift'a повешенного на клавишу <>]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=66824#p66824</link>
			<description><![CDATA[<div class="codebox"><pre><code>vkC0:: MsrejOn := !MsrejOn

#If MsrejOn
vk51:: Send, % MyShift() ? &quot;{u+0043}&quot; : &quot;{u+0063}&quot;
vk57:: Send, % MyShift() ? &quot;{u+0046}&quot; : &quot;{u+0066}&quot;
#If

MyShift()
{
return GetKeyState(&quot;vkE2&quot;, &quot;P&quot;)
}
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Irbis)]]></author>
			<pubDate>Sun, 09 Dec 2012 20:25:59 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=66824#p66824</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: В #If не видно нажатия Shift'a повешенного на клавишу <>]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=66821#p66821</link>
			<description><![CDATA[<p>Прошу прощения, поправил.</p>]]></description>
			<author><![CDATA[null@example.com (Lexanni)]]></author>
			<pubDate>Sun, 09 Dec 2012 19:32:34 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=66821#p66821</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: В #If не видно нажатия Shift'a повешенного на клавишу <>]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=66820#p66820</link>
			<description><![CDATA[<p><span style="color: #008800"><strong>Lexanni</strong>, ознакомься с <a href="http://forum.script-coding.com/viewtopic.php?id=6148">этой</a> темой, отредактируй заголовок.</span></p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Sun, 09 Dec 2012 19:20:26 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=66820#p66820</guid>
		</item>
		<item>
			<title><![CDATA[AHK: В #If не видно нажатия Shift'a повешенного на клавишу <>]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=66814#p66814</link>
			<description><![CDATA[<p>В общем, суть скрипта такова:<br /></p><div class="codebox"><pre><code>
. . . . .
vkC0:: ; клавиша | ` | Вкл/откл раскладки MSREJ
MsrejOn := !MsrejOn
return

*$vkE2::Send, {LShift Down} ;клавиша &lt;&gt;
vkE2 Up::Send, {LShift Up}

#If MsrejOn
   
; | Q |
    vk51::Send, {u+0063}     ; c
    +vk51::Send, {u+0043}   ; C
    
; | W |
    vk57::Send, {u+0066}     ; f
    +vk57::Send, {u+0046}   ; F
. . . . . . 

#If

</code></pre></div><p>Почему-то при запуске скрипта и включении раскладки MSREJ, не работают замены +vk51, +vk57 и т.п., а vk51, vk57 — работают. Без включения раскладки MSREJ, клавиша | &lt;&gt; |, без вопросов, работает как Shift. Забавно, что после того, как я открывают скрипт в SciTE4AutoHotkey, все начинает работать как надо, и +vk51 посылает большую букву! После закрытия SciTE4AutoHotkey, +vk51 все снова перестает работать.</p><p>Вроде бы версия AHK_L совсем новая - 1.1.09.00</p><p>Ребят, подскажите пожалуйста, как это победить?</p>]]></description>
			<author><![CDATA[null@example.com (Lexanni)]]></author>
			<pubDate>Sun, 09 Dec 2012 18:06:12 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=66814#p66814</guid>
		</item>
	</channel>
</rss>
