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

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

#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 для Context > префикс влияет на другой #IfWinActive контекст?

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

1 ответ

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

#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 
Другие вопросы по тегам