2

Используя следующее утверждение,

F1 & F9:: Msgbox, Got F1+F9

Я могу успешно использовать F1 в качестве префикса горячей клавиши, довольно полезная функция. Однако я быстро обнаружил, что Ctrl+F1, Shift+F1 и т.д. Теряют свою функциональность, т.е. приложение не может их обнаружить.

Я пытался добавить тильду,

~F1 & F9:: Msgbox, Got F1+F9

но это всегда вызывает F1 для приложения, прежде чем у меня есть возможность нажать F9 - не то, что я хочу.

Как добиться желаемого результата?

КСТАТИ: я могу полностью принять незначительный побочный эффект от запуска F1, Ctrl+F1 или Shift+F1, когда F1 выпущен.

Autohotkey 1.1.13.1

2 ответа2

0
F1 Up::
  Hotkey,F1 & F9,On
  MsgBox,up
return

F1 & F9::
  Hotkey,F1 & F9,Off
  MsgBox,F1 & F9
return
0

Я сам это понял.

F1 & F9:: MsgBox, F1+F9

*F1 up:: Send {Blind}{F1 down}{F1 up}

{Blind} важен. Без этого нажатие Shift+F1 приведет (может) к тому, что приложение получит только F1. В моем случае мое приложение - EmEditor v14, и я успешно добился:

  • F1+F9 или F1+F10 для быстрого переключения между вкладками первого ряда.
  • F2+F9 или F2+F10 для быстрого переключения между вкладками второго ряда.
  • F3+F9 или F3+F10 для быстрого переключения между вкладками третьего ряда.
  • F4+F9 или F4+F10 для быстрого переключения между вкладками четвертого ряда.
  • используйте ** F5+... * при желании

Я делаю это потому, что EmEditor, хотя и хорош во многих других аспектах, не обеспечивает быстрый способ переключения вкладок документов с помощью клавиатуры.

Если вам интересно, я могу опубликовать весь сценарий позже, около 30 строк.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .