Autohotkey,使用 F1 作为前缀键,但不阻止 Ctrl+F1、Shift+F1 等

Autohotkey,使用 F1 作为前缀键,但不阻止 Ctrl+F1、Shift+F1 等

使用以下语句,

F1 & F9:: Msgbox, Got F1+F9

我可以成功地使用 F1 作为前缀热键,这是一个非常有用的功能。但是,我很快发现 等Ctrl+F1失去Shift+F1了功能,即应用程序无法检测到它们。

我尝试添加波浪符号,

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

但这总是F1在我有机会按下之前触发应用程序F9——这不是我想要的。

如何达到想要的结果?

F1顺便说一句:我完全可以接受按下 F1、Ctrl+F1 或 Shift+F1时产生的轻微副作用。发布

Autohotkey 1.1.13.1

答案1

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

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

答案2

我自己想出来了。

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 行。

相关内容