我想构建一个 AHK 脚本,在执行时会按 Fn + D
和 Fn + G
。
不幸的是,在检查了我启用“KeybdHook”的 AHK 脚本中的“按键历史记录”后,我的键盘的 Fn
键在按下时似乎不会触发任何按键操作。
我应该放弃所有希望吗?
不必要的上下文:
在我的 65% 键盘上,Fn + [Key]
快捷键对于替换各种缺失的按键以及更改各种键盘设置至关重要。
特别是,RGB 设置是使用 Fn + D
和 Fn + G
更改的 - 而且,烦人的是,每次我重新启动计算机时,它们都会重置为默认的、丑陋的彩虹,而不是我更喜欢更柔和的 RGB 设置。我尝试构建的脚本会在启动时自动更改这些设置(直到我的大脑足够大以理解 QMK,我的键盘的 RGB 软件)
提前致谢。我完全预料到会有坏消息。
最佳答案
QMK 有一个很好的图表 how keyboards work :
+------+ +-----+ +----------+ +----------+ +----+
| User |-------->| Key |------>| Firmware |----->| USB wire |---->| OS |
+------+ +-----+ +----------+ +----------+ +----+
当您按下键盘上的按键时,键盘内的 QMK 固件会解释按键并创建一组键码,以准确地通过 USB 线发送到操作系统。
如果您将 QMK 固件配置为 Key(1,1)
是字母“a”,则每当您点击 Key(1,1)
时,它都会通过 USB 线发送字母“a”(扫描码 0x04
)。
有些按键和组合根本不会通过 USB 线发送。例如,Fn
键通常用于在虚拟“层”之间切换。这意味着,如果您进行了配置,Fn + Key(1,1)
现在可以发送字母“z”(扫描码 0x1D
)。现在,当您按下 Fn + Key(1,1)
时,它将通过 USB 线发送字母“z”(扫描码 0x1D
)。它不会发送 Fn
键,因为 Fn
键仅对 QMK 固件重要,与操作系统无关。
当您按下 Fn + D
键时,QMK 固件会将其解释为更改 RGB 设置。尽管您可能是 pcmasterrace 的一部分,但操作系统对 RGB 键盘和灯光一无所知。另外,USB中没有RGB扫描码HID protocol定义“更改 RGB”。因此,按 Fn + D
键不会通过 USB 向操作系统发送任何内容。
由于更改 RGB 不会发生在操作系统上,并且它仅存在于键盘内,因此 Autohotkey 无法发送正确的击键集来复制该功能。更改键盘默认设置的唯一方法是制作并刷新您自己的自定义 QMK 固件。
关于autohotkey - AHK - 模拟 Fn 快捷键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69326252/