手机版

如何借助注册表修改键盘按键的映射?

时间:2021-09-02 来源:互联网 编辑:宝哥软件园 浏览:

在使用电脑的过程中,我们会发现键盘上的很多按键平时根本就没有使用过,但是如果我们不小心碰到了一些按键,就会无法正常使用键盘。在这种情况下,这个键对我们来说并不好,仍然会影响我们的使用。那么有没有办法改变键盘按键的映射呢?其实方法有很多。本文将介绍借助注册表修改键盘键映射的方法。

如何借助注册表来修改键盘按键的映射?

在Windows XP/Windows 2000系统中,提供了一种新的键盘扫描码映射方法,可以随意设置键盘按键的布局。这是注册表中的“扫描代码图”。我们可以通过巧用“扫码图”将普通键盘随意改造成个性化键盘。

为了正确设置,需要先了解“扫描码映射”。

“Scancode Map”是注册表中[HKEY _ local _ machine \ system \ current controlset \ control \键盘布局]的二进制键值(默认不存在,需要创建),格式固定。

扫描码映射码的一般格式为:“十六进制:00,00,00,00,00,00,00,| 02 |,00,00,00,|映射扫描码(XX XX XX),原始扫描码(xx) | 00,00,00

其含义为:

前八个零(dword两个零)是版本号和头字节,下一个“02”表示映射号,其最小值为“02”,表示只映射了一个组(这里的数值是映射号加上“00,00,000”作为结束,所以总是比实际映射号多一个)。如果要映射多个组,只需要增加相应的数量即可。

后码分为四组:前两组是映射的关键比特的扫描码,后两组是关键比特的原始扫描码。如果要交换两个密钥,一个有两组映射,四个值以密钥a、密钥b、密钥b和密钥A——的形式排列,这意味着密钥a变成密钥b,密钥b变成密钥a。

结尾是“00,00,00,00”。

注意:在注册表中输入时,您需要交换扫描代码的高字节和低字节。

此外,如果您希望某个密钥失败,请将其扫描代码映射到“00 00”。

要恢复键盘按键的原始布局,只需在注册表[HKEY _本地_机器\系统\当前控件\控件\键盘布局]中找到并删除“扫描代码映射”键值。

特别说明:

1.在当前的Windows版本下,键盘映射是全局的,不是针对某个用户的。如果修改、增加或删除某个映射,无论哪个用户使用,键盘都会发生变化;

此外,如果一台电脑有多个键盘,所有这些键盘都会有相同的变化。

2.在XP上,POWER、SLEEP、WAKE UP三个键是不能屏蔽的。(我没有亲自测试过,这三把钥匙也不在我的笔记本里。如果不行,我应该可以通过bios设置禁用相应的功能。)

3.ThinkPad上的“Fn”键无法映射,因为无法被OS识别,所以无法用上述方式设置。新版thinkpad bios提供了一个功能,可以让左边的“Fn”键和相邻的“Ctrl”键互换功能。不是很好用,有需要的朋友可以试试。(如果在笔记本的bios中找不到此功能,则需要刷新bios。操作很简单,不用怕。)

导入、设置、修改或删除注册表项后,重新启动计算机,更改将生效。

您也可以使用将以下文本保存为“scancode.reg”,然后双击以导入注册表。你可以通过查找上面提到的密钥表找到你想要替换的扫描码,只需要替换# #和# #。

Windows注册表编辑器5.00版

[HKEY _ LOCAL _ MACHINE \ SYSTEM \ current controlset \ Control \键盘布局]

Scancode Map'=hex:00,00,00,00,00,00,02,00,00,00,00,##,#,#,#,00,00,00,00

了解“扫描码映射”后,我们可以使用添加功能键。比如WIN键的扫描码为“E0 5B”,Esc为“00 01”,左Ctrl为“00 1D”。有关更详细的扫描代码,请参考键盘扫描代码。

举例:

例如,前面提到的IBM ThinkPad键盘可以设置为:

Scancode Map'=hex:00,00,00,00,00,00,03,00,00,00,00,00,6A,E0,00,00,69,E0,00,00,00,00,00

例如,如果我们想将F9和F10键更改为音量调节键,我们可以通过查阅表格知道:

扫描代码F9和F10分别是(00,43)和(00,44)。

音量增大和音量减小的扫描代码分别为(E0,30)和(E0,2E)。

这样,只需将Scancode设置如下:‘Scancode map’=hex :00,00,00,00,00,00,03,00,00,00,30,E0,43,00,2e,E0,44,000。

(含义:|版本号和头字节|两组映射|第一组|第二组|结束终止|)

我将“后退”和“前进”按钮映射为“向上翻页”和“向下翻页”。注册表文件如下:

Windows注册表编辑器5.00版

[HKEY _ LOCAL _ MACHINE \ SYSTEM \ current controlset \ Control \键盘布局]

Scancode Map'=hex:00,00,00,00,00,00,03,00,00,00,49,e0,6a,e0,51,e0,69,e0,00,00,00,00,00

再次说明:所有对注册表的修改,必须在重新启动电脑后,才能生效。

下列命令可以在Linux系统中使用:

[root @ localhost ~]# setkey codes e06a 104

[root @ localhost ~]# setkey codes e069 109

在linux环境中,您可以使用showkey命令来测试键盘代码或扫描按键代码(plus -s选项)。请注意,“按”和“释放”键的扫描码可能不同,例如,case switch键,按下是3A,释放是BA。

键盘扫描码对应表

如何借助注册表来修改键盘按键的映射?

点击图片放大

现在用的是Fedora 20,这两句写在/etc/rc.d/rc.local,保证启动后可以加载。

以上是通过注册表修改键盘按键映射的方法。如果你受不了键盘上一些不常用的按键,可以用上面的方法修改按键映射。恢复原来按键功能的方法上面也有提到,只需按照步骤操作即可。

版权声明:如何借助注册表修改键盘按键的映射?是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。

相关文章推荐