Windows上功能键的交换与还原设置(以Alt与Win互换为例)
本文参考于博主三更_雨的博客:win7左ctrl和左alt键互换
0、写给小白,大神略过
这里描述的方法都是写的注册表文件,方法是在桌面或者啥地方新建一个TXT文本文档(不会就百度一下),在TXT文档里面填写相关的注册表代码,写好保存,将这个TXT文档的后缀名改成reg,双击运行,然后重启电脑就好了。后缀名怎么看,不会请百度一下。
1、学习这个操作的背景简要描述
新买了一个Lofree的小浪键盘,但是它上面的Alt键和Win键的位置与我平时用的键盘是反的,因为笔记本键盘会多一个Fn键在中间,所以基本上手操作Ctrl和Alt键组合的快捷键的时候手会多跨一个键,但是在这个键盘上就不行了,为了统一操作习惯,免得在不同的键盘上反复切换这个手指间距,所以学习了下怎么去修改和设定功能键的位置。
2、先上一下win与Alt互换注册表设置
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,38,00,5B,E0,5B,E0,38,00,00,00,00,00
换种写法
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:
00,00,00,00,
00,00,00,00,
03,00,00,00,
38,00,5B,E0,
5B,E0,38,00,
00,00,00,00
3、原理介绍
如博主三更_雨博客中介绍的一样,Windows上的功能键是存在编码映射的,理论上来说只要我们将其映射关系改变一下,就可以改变对应功能键的功能了。
上面的内容简要描述一下:
头两行和最后一行,是固定的,都是8个0。
第3行,表示共更改了多少个按键,本例为3个,算法是从第4行开始,到最末尾行(虽然严格来说末行不算),每行算1个,4、5、6行,刚好3个。
第4行,前后各4位,分别代表某个按键。本行是将38,00的按键映射为5B,E0。5B,E0代表Left Windows键,38,00代表Left Alt键,即将Left Alt映射到Left Windows键。
第5行,同理,即将Left Windows映射到Left Alt键。
第6行,末行,固定8个0。如果需要增加更多的映射,可以在此行之上,不断加类似4、5行格式的。
最后的结果,还是要将各行合为一行的,上面分行写是为了方便解释
4、番外:将按键还原回去
如果不小心把这个设置错了,还原回去也是一样的原理,映射自身编码给自己就好了。同样以Alt和Win举例:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,38,00,38,00,5B,E0,5B,E0,00,00,00,00
最后附上常见的功能键编码表:
按键 | 编码 |
---|---|
Escape | 01 00 |
Tab | 0F 00 |
Caps Lock | 3A 00 |
Left Alt | 38 00 |
Left Ctrl | 1D 00 |
Left Shift | 2A 00 |
Left Windows | 5B E0 |
Right Alt | 38 E0 |
Right Ctrl | 1D E0 |
Right Shift | 36 00 |
Right Windows | 5C E0 |
Backspace | 0E 00 |
Delete | 53 E0 |
Enter | 1C 00 |
Space | 39 00 |
Insert | 52 E0 |
HOME | 47 E0 |
End | 4F E0 |
Num Lock | 45 00 |
Page Down | 51 E0 |
Page Up | 49 E0 |
Scroll Lock | 46 00 |
想把自己留给生活
想把生活留给你