我根本不使用正确的控制键,我喜欢将它用作一个方便放置的热键,用于一些我可以使用 Autohotkey 轻松完成的自定义功能。
问题是为了方便我还使用了粘滞键,如果我按右键控制,则激活 Autohotkey 绑定的新功能,但控制键也进入粘滞状态(因为它是在操作系统级别完成的),所以它不需要影响下一个按下的键。
有没有办法以某种方式告诉 Windows(可能使用额外的工具)我确实希望所有修饰符都是粘性的,除了正确的控制键?
我根本不使用正确的控制键,我喜欢将它用作一个方便放置的热键,用于一些我可以使用 Autohotkey 轻松完成的自定义功能。
问题是为了方便我还使用了粘滞键,如果我按右键控制,则激活 Autohotkey 绑定的新功能,但控制键也进入粘滞状态(因为它是在操作系统级别完成的),所以它不需要影响下一个按下的键。
有没有办法以某种方式告诉 Windows(可能使用额外的工具)我确实希望所有修饰符都是粘性的,除了正确的控制键?
虽然我不完全确定,但我想知道通过注册表映射的键(在系统级别映射)是否可能不再被视为修饰符......我不完全确定,但如果你愿意:打开 Regedit导航到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout 在 Keyboard Layout 文件夹中(不要往下走),查看是否有一个名为“Scancode Map”的键。如果没有,请创建一个名为“Scancode Map”的二进制密钥,并编辑二进制文件以读取:
00000000 00000000 02000000 00001DE0 00000000
然后重新启动计算机。
为了理解:前 16 个零对于这些目的没有意义。“02”是您要映射的键数,+1。接下来的 6 个零……也毫无意义。接下来的 4 个零是您要映射到的扫描码(0000 = 无)。接下来的 4 个十六进制数字是您要更改的键的扫描码(1DE0 = 右控制)。最后 8 个零……更多填充物。
如果您担心将其作为脚本热键丢失,您可以将其映射到任何扫描码......而且我确信 AHK 有能力对扫描码和键进行操作。我认为他们在 AHK 中称它们为虚拟键。只要记住你设置的扫描码,并确保扫描码没有被其他东西使用(除非你想映射 2 个不同的键来执行相同的脚本,然后努力)。