Autohotkey - несколько скриптов и разные языковые проблемы

Я использую autohotkey для упрощения копирования, используя Alt+W вместо Ctrl + C. Однако я часто переключаю свою клавиатуру на раскладку на иврите, поэтому клавиша w теперь является клавишей ". Тогда скрипт autohotkey для w не работает.

Я пытался записать второй скрипт в тот же файл, но он не активируется, когда я нажимаю Alt + ', когда я в раскладке на иврите. Я не уверен, что это мой синтаксис или что-то еще, есть идеи?

Это мой код:

!w::
Send, {ctrl down}{a down}{a up}{c down}{c up}{ctrl up}
return

!'::
Send, {ctrl down}{a down}{a up}{c down}{c up}{ctrl up}
return

Спасибо!

2 ответа

Решение

Стоит попробовать использовать виртуальные / сканирующие коды ключей вместо имен. В этом примере используется виртуальный код (vkXX):

;~ SetKeyDelay, keyDelay:=25, pressDuration:=25 ; details for SendEvent mode.

!vk57:: ; w/'/я... (en/he/ru...)
   Send, {CtrlDown}{vk41}{vk43}{CtrlUp}
   KeyWait, vk57
;~    Do something by release this key, if necessary...
   Return

Поймать Alt-' с кодом, который вы использовали, работает в других раскладках клавиатуры (например, раскладка на немецком языке), поэтому ваш синтаксис выглядит нормально для меня.

Чтобы решить вашу проблему, я бы запустил файл справки autohotkey. Прочтите "Список клавиш, кнопок мыши и джойстика", где в разделе "Специальные клавиши" объясняется, как пытаться перехватить нераспознанные клавиши через "зацепку клавиатуры".

В основном это описывает, как узнать! скан-код, который вы затем можете использовать в качестве альтернативы горячей клавиши.

Другие вопросы по тегам