我从这里下载了 "SharpKeys.exe"。它运行得很好。但是我想把 "Pause/Break" 键映射成另一个键,但是这个应用程序无法正确识别该键。 有人知道该键的扫描码吗?谢谢。
暂停键是一种非常特殊的非类型化按键,具有不寻常的扫描码(E1 1D 45 E1 9D C5
)。这个扫描码太长了,无法使用SharpKeys(或任何使用注册表进行扫描码重映射的程序)进行重新映射,因为该功能仅限于2字节的扫描码。如果您尝试重新映射它,您将只得到前两个字节,并最终重新映射数字键锁定键。这会以各种有趣的方式破坏。
您需要使用另一个程序来进行重映射,例如AutoHotKey。但我不确定这是否实际有效,因为此键非常特殊。
不清楚为什么程序员会想要重新映射暂停/中断键。这是一个非常有用的键,通常在笔记本电脑键盘上痛苦地缺失,在那里您唯一的选择是将另一个键重新映射为Ctrl + Break(扫描码E0 46
)。这至少可以让您恢复真正暂停/中断键的部分功能。
E1
和 1D
。(他还搞乱了Del
键,这是不必要的)E1 1D
添加到键映射表中,就能够重新映射而无需任何其他修改。
长话短说:
我下载了SharpKeys的源代码,并在其代码文件Dialog_Main.cs
中的方法BuildParseTables()
中添加了一行m_hashKeys.Add("E1_1D", "-by Vitox: Pause/Break");
之后,我成功地重新映射了Pause/Break键。
SharpKeys:https://github.com/randyrants/sharpkeys
顺便说一句,Randy Rants,这是一个很棒的工具。谢谢!
您需要进行编辑:
E11D 转为删除键
E046 转为删除键
还有一个需要下载的文件:
https://www.neox.net/w/2008/02/13/keyboard-remap-pause-break-key-as-del-key/我知道这是一个旧话题,但也许有人和我一样,使用的是MSI GL75这样无意义的键盘 :)
@Vitox的见解真的很有帮助。然而,视觉代码社区相当庞大,如果您不想自己编译修改过的版本,我这里有一个简单的解决方案。
暂停/中断键的扫描码是(E1 1D 45 E1 9D C5
)。简单的方法是通过sharpkeys进行配置,并将Special: Hanja Key (E0 F1)
重新映射到所需的键,例如F11 (00 57)
。
打开注册表,导航到[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
,并将路径[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
下的所有内容导出到.reg文件中。打开.reg文件,定位f1,e0
段(可以搜索",f1,e0,
"),将f1更改为1d,将e0更改为e1,保存并导入到注册表中。
然后在重启后就可以使用这个技巧了。
您还可以在SharpKeys中查看配置。请参见proof。但是,它不可能从SharpKeys侧导出它们。 Sharpkeys将忽略那个(E1_1D) - (00 57)配对,因为它不是本地内置的。
附言:这是一个简单的配置替换,在我的Windows 10环境中绝对可行。尽管如此,这只是一个绕路,可以避免您安装10+吉字节(或20+?无论多少)的MS Visual Studio社区版。我真的希望有人能发布一个构建版本的Sharpkeys,以原生支持暂停/中断键重新映射。