AHK - 模拟 Fn 快捷键

Poe*_*oem 2 autohotkey

我想构建一个在执行时为我按下 和 的 AHK 脚本Fn + DFn + G\n不幸的是,在我启用了“KeybdHook”的 AHK 脚本中检查“按键历史记录”后,我的键盘Fn按键似乎没有触发任何按键按下按键时的动作。

\n

我应该放弃所有希望吗?

\n

不必要的上下文: \n在我的 65% 键盘上,Fn + [Key]快捷键对于替换各种缺失的按键以及更改各种键盘设置至关重要。\n特别是,RGB 设置使用Fn + DFn + G\xe2\x80\x94 进行更改,令人烦恼的是,它们每次我重新启动计算机时都会重置为默认的、丑陋的彩虹,而不是我更喜欢的更柔和的 RGB 设置。我尝试构建的脚本会在启动时自动更改这些设置(直到我的大脑足够大以理解 QMK,我的键盘的 RGB 软件)

\n

提前致谢。我完全预料到会有坏消息。

\n

HAL*_*256 5

QMK 有一个很好的键盘工作原理图:

+------+         +-----+       +----------+      +----------+     +----+
| User |-------->| Key |------>| Firmware |----->| USB wire |---->| OS |
+------+         +-----+       +----------+      +----------+     +----+
Run Code Online (Sandbox Code Playgroud)

当您按下键盘上的某个键时,键盘内的 QMK 固件会解释按下的按键并创建一组键码,以准确地通过 USB 线发送到操作系统。

如果您将 QMK 固件配置为Key(1,1)字母“a”,则每当您点击 时,它都会通过 USB 线Key(1,1)发送字母“a”(扫描码)。0x04

有些按键和组合根本不会通过 USB 线发送。例如,Fn按键通常用于在虚拟“层”之间切换。这意味着,如果您配置了它,Fn + Key(1,1)现在可以发送字母“z”(扫描码0x1D)。现在,当您点击 时,它会通过 USB 线Fn + Key(1,1)发送字母“z”(扫描码)。0x1D它不会发送Fn密钥,因为Fn密钥仅对 QMK 固件重要,与操作系统无关。

当您按下Fn + D按键时,QMK 固件会将其解释为更改 RGB 设置。尽管您可能是 pcmasterrace 的一部分,但操作系统对 RGB 键盘和灯光一无所知。此外,USB HID 协议中没有定义“更改 RGB”的 RGB 扫描代码。因此,按下Fn + D按键不会通过 USB 向操作系统发送任何信息。

由于更改 RGB不会发生在操作系统上,并且它仅存在于键盘内,因此 Autohotkey 无法发送正确的击键集来复制该功能。更改键盘默认设置的唯一方法是制作并刷新您自己的自定义 QMK 固件。