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
posted @ 2022-03-06 23:06  藤井の树  阅读(4923)  评论(2编辑  收藏  举报