Эффект аутотрея с правой стороны вне пределов эффекта, правильное поведение?

0

Я столкнулся с проблемой, показанной в следующем фрагменте:

#IfWinActive ahk_class Notepad
^a:: MsgBox, Ctrl+A press in notepad
#IfWinActive

#IfWinActive ahk_class ConsoleWindowClass
>^a:: MsgBox, Ctrl+A pressed in CMD window
#IfWinActive 

я бы хотел

  • иметь Ctrl+A(независимо от того, влево или вправо Ctrl) для запуска msgbox в блокноте;
  • и имеют только право Ctrl+Aна запуск msgbox в окне CMD.

Но фактическое поведение в Блокноте таково : только левый Ctrl + A может вызвать msgbox, правый Ctrl + A демонстрирует исходное поведение «Выбрать все». В чем дело? Как префикс одного #IfWinActiveконтекста >влияет на другой #IfWinActiveконтекст?

Пробовал с Autohotkey 1.1.19.02 и 1.1.22.09 на Windows 7, такое же поведение.

Джимм Чен
источник

Ответы:

0

Никогда не видел этого ... возможно, причуду. Попробуйте явные левые / правые определения.

#IfWinActive ahk_class Notepad
>^a:: 
<^a:: 
    MsgBox, Ctrl+A press in notepad
return
#IfWinActive

#IfWinActive ahk_class ConsoleWindowClass
>^a:: MsgBox, Ctrl+A pressed in CMD window
#IfWinActive 
JJohnston2
источник
Хотя это может быть обходным решением, я бы воздержался от этого, потому что для каждого контекстного определения сочетания клавиш Ctrl + <n> удваивается работа, что делает скрипт очень уродливым.
Джимм Чен