<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Win+1 в Ctrl+1 – раскладка клавиатуры мешает]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=17918</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=17918&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Win+1 в Ctrl+1 – раскладка клавиатуры мешает».]]></description>
		<lastBuildDate>Wed, 23 Aug 2023 19:27:10 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Win+1 в Ctrl+1 – раскладка клавиатуры мешает]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=159109#p159109</link>
			<description><![CDATA[<div class="quotebox"><cite>__Михаил__ пишет:</cite><blockquote><p>Вы не указывали про ноутбук. У них свои приколы системные.</p></blockquote></div><p>Вот никогда не подумал бы... Систему обычно указывают, я пометил... AHK версию, правда, забыл... Буду впредь учитывать, спасибо!</p>]]></description>
			<author><![CDATA[null@example.com (adeckwatt)]]></author>
			<pubDate>Wed, 23 Aug 2023 19:27:10 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=159109#p159109</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Win+1 в Ctrl+1 – раскладка клавиатуры мешает]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=159106#p159106</link>
			<description><![CDATA[<p><strong>adeckwatt</strong><br />Вы не указывали про ноутбук. У них свои приколы системные.</p>]]></description>
			<author><![CDATA[null@example.com (__Михаил__)]]></author>
			<pubDate>Wed, 23 Aug 2023 15:29:50 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=159106#p159106</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Win+1 в Ctrl+1 – раскладка клавиатуры мешает]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=159104#p159104</link>
			<description><![CDATA[<div class="quotebox"><cite>adeckwatt пишет:</cite><blockquote><p>и получил вот это</p></blockquote></div><p>Не знаю, почему у вас выдаёт другое, у меня:<br /></p><div class="quotebox"><blockquote><p>A2&nbsp; 01D	i	u	2.64	LControl<br />A0&nbsp; 02A	i	d	0.00	LShift&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;	<br />41&nbsp; 01E	i	d	0.02	a&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 	<br />41&nbsp; 01E	i	u	0.00	a&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 	<br />A0&nbsp; 02A	i	u	0.01	LShift&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;	<br />A2&nbsp; 01D	i	d	0.02	LControl</p></blockquote></div><div class="quotebox"><cite>adeckwatt пишет:</cite><blockquote><p>Правильно ли я понимаю, что это по-прежнему актуально для форума?</p></blockquote></div><p>Честно говоря не уверен, подождите лучше специального объявления на форуме. Оно появится на видном месте, когда текущие средства будут заканчиваться.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Wed, 23 Aug 2023 15:10:48 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=159104#p159104</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Win+1 в Ctrl+1 – раскладка клавиатуры мешает]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=159103#p159103</link>
			<description><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>Шифт появляется, если он нужен для посыла указанного символа с клавиатуры.</p></blockquote></div><p>Да, действительно, так и есть, раскладка это подразумевает. Мне просто думалось, что вот эти выверты с SC позволяют как раз обойти Shift. В итоге так и вышло, потому что</p><div class="codebox"><pre><code>^sc4:: SendInput #{sc4}</code></pre></div><p>решил проблему: этот код работает и в Русской обычной, и в Русской машинописной раскладках. Даже обидно теперь, что я сам не допер прописать SC-код в оба конца, так сказать. Тем не менее это победа, спасибо огромное!) </p><div class="quotebox"><cite>__Михаил__ пишет:</cite><blockquote><p>Так же попробовал включить эту самую очень полезную машинопись, у меня работает с ней.</p></blockquote></div><p>Вот это, наверное, последняя тайна в этой теме осталась, почему у меня так и не сработал основной вариант, хотя у других он, как я понял, функционирует. Наверное, объяснение кроется в какой-нибудь программистской карме.)</p><br /><br /><p>Чуть не забыл – я же проверил, как вы советовали:</p><div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>Запустите</p><div class="codebox"><pre><code>^1:: Send A</code></pre></div><p>в обычной раскладке, нажмите Ctrl + 1 и посмотрите историю клавиш.</p></blockquote></div><p>и получил вот это: </p><p>Русская обычная:</p><div class="codebox"><pre><code>A2  01D	 	d	39.83	LControl       	
31  002	 	d	0.41	1              	
A2  01D	i	u	0.00	LControl       	
E7 0041	U	d	0.00	A              	
E7 0041	U	u	0.00	A              	
A2  01D	i	d	0.01	LControl       	
31  002	 	u	0.22	1              	
A2  01D	 	u	0.28	LControl </code></pre></div><p>Русская машинопись:</p><div class="codebox"><pre><code>A2  01D	 	d	3.09	LControl       	
31  002	 	d	0.19	№              	
A2  01D	i	u	0.00	LControl       	
E7 0041	U	d	0.00	A              	
E7 0041	U	u	0.00	A              	
A2  01D	i	d	0.02	LControl       	
31  002	 	u	0.11	№              	
A2  01D	 	u	0.08	LControl  </code></pre></div><p>Правда, не очень понял, что это дает, уж простите... </p><p>На всякий случай прописываю итоговый рабочий вариант для машинописной русской раскладки: </p><div class="codebox"><pre><code>^sc2:: SendInput #{sc2}
^sc3:: SendInput #{sc3}
^sc4:: SendInput #{sc4}
^sc5:: SendInput #{sc5}
^sc6:: SendInput #{sc6}
^sc7:: SendInput #{sc7}
^sc8:: SendInput #{sc8}
^sc9:: SendInput #{sc9}
^sca:: SendInput #{sca}</code></pre></div><p>Еще раз спасибо вам!</p><br /><div class="quotebox"><cite>atomix пишет:</cite><blockquote><p>Принимаются пожертвования на счет хостинг-провайдера -&gt; https://sprinthost.ru/pay/ (укажите домен - script-coding.com)</p></blockquote></div><p>Правильно ли я понимаю, что это по-прежнему актуально для форума?</p>]]></description>
			<author><![CDATA[null@example.com (adeckwatt)]]></author>
			<pubDate>Wed, 23 Aug 2023 13:57:08 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=159103#p159103</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Win+1 в Ctrl+1 – раскладка клавиатуры мешает]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=159094#p159094</link>
			<description><![CDATA[<div class="quotebox"><cite>adeckwatt пишет:</cite><blockquote><p>Почему-то в Русской машинописи затесался LShift</p></blockquote></div><p>Шифт появляется, если он нужен для посыла указанного символа с клавиатуры. Запустите</p><div class="codebox"><pre><code>^1:: Send A</code></pre></div><p>в обычной раскладке, нажмите Ctrl + 1 и посмотрите историю клавиш. Соответственно, AHK считает, что в вашей раскладке, чтобы послать 3, нужно нажать Shift + /.</p><p>Для тройки возможно так сработает:<br /></p><div class="codebox"><pre><code>^sc4:: SendInput #{sc4}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Tue, 22 Aug 2023 23:34:22 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=159094#p159094</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Win+1 в Ctrl+1 – раскладка клавиатуры мешает]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=159093#p159093</link>
			<description><![CDATA[<p>Доброго времени суток! </p><p>Благодарю всех за оперативные ответы! И прошу прощения за промедление со своей стороны: уведомление об ответе в теме попало в категорию &quot;Рассылки&quot;, в итоге не сразу заметил. </p><p>Попытаюсь внести ясность в сложившуюся ситуацию. </p><p>Я неточно выразился в первом посте, описывая ситуацию, когда проверял на работоспособность указанный мной в первом посте скрипт. Когда при работающем скрипте я просто меняю раскладку, прожатие тех же клавиш не просто ничего не вызывает, а вызывает странное поведение свернутых программ, причем разное. Например, у меня открыт файл в Блокноте обычном, он идет третьим окном по счету; нажимаю Ctrl+3, но раскрывается не файл уже открытый, а создается файл &quot;Безымянный&quot;, и вот он уже появляется в развернутом виде. Прожимаю номер браузера (второе окно), так он вообще не реагирует никак. Никаких других скриптов пока не запущено при этом. Я сразу не написал об этом, потому что подумал, что это в принципе неправильно скрипт написан и ошибка лежит более-менее на поверхности. </p><p>Итак, еще раз: скрипт вида (причем меня удивил пробел перед SendInput в вашем примере, <strong>teadrinker</strong>, но и с ним тоже, как оказалось, работает)</p><br /><div class="codebox"><pre><code>&lt;^sc002:: SendInput #1
&lt;^sc003:: SendInput #2
&lt;^sc004:: SendInput #3
&lt;^sc005:: SendInput #4
&lt;^sc006:: SendInput #5
&lt;^sc007:: SendInput #6
&lt;^sc008:: SendInput #7
&lt;^sc009:: SendInput #8
&lt;^sc00a:: SendInput #9</code></pre></div><p>работает в английской раскладке и в Русской обычной как задумано, полная идентичность с Win+1–9. Скрипт <strong>__Михаил__</strong> (красиво, но сложно, спасибо!) срабатывает точно так же, в Русской машинописи у меня не работает.</p><p>Но с вашей общей подачи я понял, что кнопки, которые я прожимаю физически, – это одно, это как бы пользовательское мое явление, а keyboard hook как бы показывает, как на мое действие реагирует операционная система с работающим в ней скриптом, т. е. это суть, изнанка процесса. То есть я решил изучить одно и то же пользовательское явление (прожатие мной сочетания Ctrl+3, это вызов файла Блокнота) и посмотреть, что покажет keyboard hook на это в разных раскладках. Так вот результат: </p><p>Английская раскладка:</p><div class="codebox"><pre><code>A2  01D	 	d	1.67	LControl       	
5B  15B	i	d	0.11	LWin           	
A2  01D	i	u	0.00	LControl       	
33  004	i	d	0.00	3              	
33  004	i	u	0.02	3              	
5B  15B	i	u	0.00	LWin           	
A2  01D	i	d	0.00	LControl       	
A2  01D	 	u	0.14	LControl</code></pre></div><p> </p><p>Русская обычная:</p><div class="codebox"><pre><code>A2  01D	 	d	3.00	LControl       	
5B  15B	i	d	0.14	LWin           	
A2  01D	i	u	0.00	LControl       	
33  004	i	d	0.00	3              	
33  004	i	u	0.00	3              	
5B  15B	i	u	0.02	LWin           	
A2  01D	i	d	0.00	LControl       	
A2  01D	 	u	0.19	LControl</code></pre></div><p>Русская машинопись:</p><div class="codebox"><pre><code>A2  01D	 	d	4.98	LControl       	
5B  15B	i	d	0.16	LWin           	
A2  01D	i	u	0.00	LControl       	
A0  02A	i	d	0.00	LShift         	
33  004	i	d	0.00	/              	
33  004	i	u	0.00	/              	
5B  15B	i	u	0.00	LWin           	
A0  02A	i	u	0.00	LShift         	
A2  01D	i	d	0.00	LControl       	
A2  01D	 	u	0.16	LControl</code></pre></div><p>Почему-то в Русской машинописи затесался LShift, хотя я его, естественно, не прожимаю. Прогнал пробно другое сочетание – то же самое, Shift вклинивается. Неужели брак ноутбучной клавиатуры? Признаться, иногда у меня возникает мысль (при выполнении других скриптов типа ремаппинга, да и прожатии некоторых горячих клавиш в текстовых редакторах), что Shift как кнопка западает, но я никак не мог установить это эмпирически, да и в принципе взаимодействию с компьютером это не мешало до сего момента... С другой стороны, подождите, если кнопка западает, то она в любой раскладке будет западать одинаково... Значит, это системный косяк?.. (Начинают глохнуть мозги в ночи, сорри.)</p><p>Одним словом, я не знаю, что и думать. Может быть, как-то модифицировать мой скрипт (при всем уважении, он попонятнее выглядит, чем таковой от <strong>__Михаил__</strong>, его только предстоит подробно изучить на досуге), т. е. тупо в него вставить Shift? Ну тройное сочетание клавиш как бы получится, но я-то все равно буду прожимать две кнопки при этом... На всякий случай еще раз упомяну, что у меня есть основной скрипт, где довольно много ремаппинговых приемов собралось, но он сейчас НЕ запущен, т. е. все эти тесты происходят в отдельном файле отдельного скрипта. А так-то этот Shift у меня может как-то с Win-кнопкой пересекаться, так с ходу не вспомню... Но ведь выключение скрипта выключает полностью его функционал и не оставляет следов в реестре (по крайней мере где-то я читал про это в документации AHK)... </p><br /><br /><p>P.S. </p><div class="quotebox"><blockquote><p>эту самую очень полезную машинопись</p></blockquote></div><p>Не уверен, что правильно понял, но – это был сарказм или?) Для программирования, осуществляемого на английской раскладке, конечно, она не поможет, но на русском-то довольно удобно получается, точка и запятая на указательных пальцах всяко быстрее будет, чем... Да даже не знаю, как в обычной раскладке эти знаки препинания получить, много лет пользуюсь машинописью и не пожалел ни разу. Как бы то ни было, я не в претензии, у каждого свое мнение, а на своем я не настаиваю.</p>]]></description>
			<author><![CDATA[null@example.com (adeckwatt)]]></author>
			<pubDate>Tue, 22 Aug 2023 22:57:32 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=159093#p159093</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Win+1 в Ctrl+1 – раскладка клавиатуры мешает]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=159069#p159069</link>
			<description><![CDATA[<p><strong>teadrinker</strong><br />Хороший вопрос - почему его код не работает у ТС. Я специально указал слово &quot;Проверьте&quot; в своём посте. Так же попробовал включить эту самую <strong>очень полезную</strong> машинопись, у меня работает с ней.</p>]]></description>
			<author><![CDATA[null@example.com (__Михаил__)]]></author>
			<pubDate>Mon, 21 Aug 2023 17:30:38 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=159069#p159069</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Win+1 в Ctrl+1 – раскладка клавиатуры мешает]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=159067#p159067</link>
			<description><![CDATA[<p><strong>__Михаил__</strong><br />Если <em>&lt;^1::SendInput #1</em> не срабатывает, почему должно сработать <em>HotKey, % &quot;&lt;^&quot; (A_Index - 1), KKey, On</em> ?</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Mon, 21 Aug 2023 15:43:21 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=159067#p159067</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Win+1 в Ctrl+1 – раскладка клавиатуры мешает]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=159066#p159066</link>
			<description><![CDATA[<p>Вот вроде простоя задача и думаете в верном направлении но не то всё.<br />Проверьте такой код, у меня работает:</p><div class="codebox"><pre><code>Loop, 10	; Назначаем хоткеи LCtrl + N:
 HotKey, % &quot;&lt;^&quot; (A_Index - 1), KKey, On
Return

KKey(){	; Выполняем функцию при нажатии:
 KeyWait, LCtrl, U	; Ожидаем отпускание LCtrl.
 Sleep, 50		; Небольшая задержка, можно убрать если система будет успевать реагировать быстро.
 K := SubStr(A_ThisHotkey, 0)	; Извлекаем вторую нажатую клавишу из строки (0-9).
 SendInput, % &quot;#{&quot; K &quot;}&quot;	; Отправляем необходимое нажатие Win + (0-9).
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (__Михаил__)]]></author>
			<pubDate>Mon, 21 Aug 2023 14:49:33 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=159066#p159066</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Win+1 в Ctrl+1 – раскладка клавиатуры мешает]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=159059#p159059</link>
			<description><![CDATA[<div class="quotebox"><cite>adeckwatt пишет:</cite><blockquote><p>SC в AHK содержит три символа, а не два</p></blockquote></div><p>Количество символов (как и их регистр) не имеет значения, нужны только значащие символы, то есть достаточно<br /></p><div class="codebox"><pre><code>^sc2:: SendInput #1</code></pre></div><p>или<br /></p><div class="codebox"><pre><code>^vk31:: SendInput #1</code></pre></div><p>Оба эти варианта должны работать для любой раскладки обычной клавиатуры при нажатии Ctrl + 1. Проверьте, работают ли они у вас в английской раскладке. Если да, проверьте, какие коды у Ctrl и 1 в русской раскладке, совпадают ли коды Ctrl в русской и английской.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Sun, 20 Aug 2023 22:47:32 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=159059#p159059</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Win+1 в Ctrl+1 – раскладка клавиатуры мешает]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=159058#p159058</link>
			<description><![CDATA[<p>Приветствую почтенных форумчан в очередной раз! </p><p>Снова взываю к вашей помощи по очередному, казалось бы, простому делу... </p><p>Прознал я, что помимо привычного Alt+Tab существует более точный прием вызова необходимого окна из тех, что присутствуют запущенными на Панели задач, а именно Win+1/2/3 и т. д. (Там с оговорками, в зависимости от закрепленных приложений справа от Пуска, но не об этом сейчас.) Сама идея хорошая, вот только указанные кнопки моей левой клешне не очень подходят, я бы предпочел вместо сочетания Win+1 заиметь Ctrl+1 (и далее по списку, конечно). Да, это зарубит переключение между вкладками в Microsoft Edge, ну и ладно бы, можно пережить (или переназначить опять же). </p><p>Довольно быстро по нубским своим меркам создал следующий скрипт:</p><div class="codebox"><pre><code>&lt;^1::SendInput #1
&lt;^2::SendInput #2
&lt;^3::SendInput #3
&lt;^4::SendInput #4
&lt;^5::SendInput #5
&lt;^6::SendInput #6
&lt;^7::SendInput #7
&lt;^8::SendInput #8
&lt;^9::SendInput #9</code></pre></div><p>(Просто Send почему-то сбоил периодически, но я уже довольно давно уяснил, что SendInput понадежней будет.)</p><p>Но вот незадача: это переназначение выполняется только на английской раскладке или на обычной русской раскладке (RU). А у меня стоит Русская Машинопись (обозначается RUT по крайней мере в моей Windows 10 64 Pro). На всякий случай сообщаю, в чем суть раскладки: в ней за всем цифровым рядом закреплены всякие знаки (конкретно №-/&quot;:,._?% в последовательности от 1 до 0), а чтобы получить цифру, нужно прожать Shift+цифра. Видимо, в этом и заключается проблема: нажимая в машинописной раскладке клавишу &quot;1&quot;, я без каких бы то ни было скриптов получаю &quot;№&quot;, а не &quot;1&quot;, соответственно, сочетание Ctrl+1 в вышеприведенном коде уже не прокатывает. </p><p>Конечно, я попробовал переиначить код и протестировал строчку вида:</p><div class="codebox"><pre><code>&lt;^№::SendInput #1</code></pre></div><p>но как-то она не дала искомого результата. </p><p>Затем я пораскинул скудным своим программистским интеллектом и вспомнил про SCnnn/VKnn. То есть, по идее, нужно сделать так, чтобы именно код физической клавиши срабатывал, а не тот символ, который за этой клавишей закреплен в той или иной раскладке... Так я отправился на поиски скан-кодов клавиш цифрового ряда и как бы нашел их, например, вот здесь: <a href="http://www.quadibloc.com/comp/scan.htm">http://www.quadibloc.com/comp/scan.htm</a></p><p>Ну и подставил оттуда код, получил строчку вида: </p><div class="codebox"><pre><code>&lt;^SC02::SendInput #1</code></pre></div><p>...и она не сработала. (Позднее я вроде понял, что и не могла она сработать, потому что SC в AHK содержит три символа, а не два... Пока что это осталось потемками для меня, оставим.)</p><p>Собрав остатки мозга в кулак (шел третий час испытаний), я заюзал </p><div class="codebox"><pre><code>#InstallKeybdHook
KeyHistory</code></pre></div><p> </p><p>получил выкладку SC и VK для моей клавиатуры, использовал </p><div class="codebox"><pre><code>&lt;^SC002::SendInput #1</code></pre></div><p>и </p><div class="codebox"><pre><code>&lt;^VK31::SendInput #1</code></pre></div><p>...и опять же ни к чему не пришел позитивному.</p><br /><br /><p>...Подскажите, пожалуйста, можно ли как-то обойти этот тупик? (Видят небеса, этот ламер сделал все что мог, чтобы не обращаться на сей форум и не беспокоить летнюю, может быть, даже еще отпускную общественность, но никак не вышло. У меня даже была мысль напрочь отказаться от этой раскладки, а вместо нее создать скрипт AHK, который бы заменил мне машинопись!) Очень может быть, что в этих своих недопотугах где-то напортачил на ровном месте и упустил какую-то деталь... Заранее ужасно благодарен за помощь!..</p>]]></description>
			<author><![CDATA[null@example.com (adeckwatt)]]></author>
			<pubDate>Sun, 20 Aug 2023 20:46:26 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=159058#p159058</guid>
		</item>
	</channel>
</rss>
