Тема: AHK: Win+1 в Ctrl+1 – раскладка клавиатуры мешает
Приветствую почтенных форумчан в очередной раз!
Снова взываю к вашей помощи по очередному, казалось бы, простому делу...
Прознал я, что помимо привычного Alt+Tab существует более точный прием вызова необходимого окна из тех, что присутствуют запущенными на Панели задач, а именно Win+1/2/3 и т. д. (Там с оговорками, в зависимости от закрепленных приложений справа от Пуска, но не об этом сейчас.) Сама идея хорошая, вот только указанные кнопки моей левой клешне не очень подходят, я бы предпочел вместо сочетания Win+1 заиметь Ctrl+1 (и далее по списку, конечно). Да, это зарубит переключение между вкладками в Microsoft Edge, ну и ладно бы, можно пережить (или переназначить опять же).
Довольно быстро по нубским своим меркам создал следующий скрипт:
<^1::SendInput #1
<^2::SendInput #2
<^3::SendInput #3
<^4::SendInput #4
<^5::SendInput #5
<^6::SendInput #6
<^7::SendInput #7
<^8::SendInput #8
<^9::SendInput #9
(Просто Send почему-то сбоил периодически, но я уже довольно давно уяснил, что SendInput понадежней будет.)
Но вот незадача: это переназначение выполняется только на английской раскладке или на обычной русской раскладке (RU). А у меня стоит Русская Машинопись (обозначается RUT по крайней мере в моей Windows 10 64 Pro). На всякий случай сообщаю, в чем суть раскладки: в ней за всем цифровым рядом закреплены всякие знаки (конкретно №-/":,._?% в последовательности от 1 до 0), а чтобы получить цифру, нужно прожать Shift+цифра. Видимо, в этом и заключается проблема: нажимая в машинописной раскладке клавишу "1", я без каких бы то ни было скриптов получаю "№", а не "1", соответственно, сочетание Ctrl+1 в вышеприведенном коде уже не прокатывает.
Конечно, я попробовал переиначить код и протестировал строчку вида:
<^№::SendInput #1
но как-то она не дала искомого результата.
Затем я пораскинул скудным своим программистским интеллектом и вспомнил про SCnnn/VKnn. То есть, по идее, нужно сделать так, чтобы именно код физической клавиши срабатывал, а не тот символ, который за этой клавишей закреплен в той или иной раскладке... Так я отправился на поиски скан-кодов клавиш цифрового ряда и как бы нашел их, например, вот здесь: http://www.quadibloc.com/comp/scan.htm
Ну и подставил оттуда код, получил строчку вида:
<^SC02::SendInput #1
...и она не сработала. (Позднее я вроде понял, что и не могла она сработать, потому что SC в AHK содержит три символа, а не два... Пока что это осталось потемками для меня, оставим.)
Собрав остатки мозга в кулак (шел третий час испытаний), я заюзал
#InstallKeybdHook
KeyHistory
получил выкладку SC и VK для моей клавиатуры, использовал
<^SC002::SendInput #1
и
<^VK31::SendInput #1
...и опять же ни к чему не пришел позитивному.
...Подскажите, пожалуйста, можно ли как-то обойти этот тупик? (Видят небеса, этот ламер сделал все что мог, чтобы не обращаться на сей форум и не беспокоить летнюю, может быть, даже еще отпускную общественность, но никак не вышло. У меня даже была мысль напрочь отказаться от этой раскладки, а вместо нее создать скрипт AHK, который бы заменил мне машинопись!) Очень может быть, что в этих своих недопотугах где-то напортачил на ровном месте и упустил какую-то деталь... Заранее ужасно благодарен за помощь!..