因键盘布局不符合个人使用习惯,键盘某个按键失灵等等情况,我们可以通过修改键位映射来很好的解决这些问题。

修改键位映射

操作步骤如下:

打开注册表编辑器

按下 Win+R 打开运行,输入 regedit ,点击确定。

运行窗口

创建映射文件

打开后我们看到的界面是这样的。

注册表界面

我们需要在左侧目录树下定位到这个地方:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout

"定位到 Keyboard Layout"

就是这个目录,注意不要点进它的两个子文件夹里。
在右侧空白处「右键」 –> 新建,选择「二进制值」。
并且给建好的文件取名为 Scancode Map

创建二进制值

创建成功

修改注册表键值

打开 Scancode Map 文件;

"编辑 Scancode Map"

前 8 个字节是版本信息,输入 8 组 00 即可;

"输入 8 组 00"

接下来 4 组数值表示映射的数量,填写 03 00 00 00 。其中 03 表示有 2 组映射。

输入映射数量

若要映射多组,只需增加相应的值即可,如映射 3 组填写为 04 ,映射 5 组填写为 06 ,其最小值为 02 ,表示只映射 1 组。

接下来每 4 组数值代表一个映射,每一个映射格式如下:【 A 】 【 B 】

【 B 】映射为【 A 】,即按下【 B 】键时,则按下原来的 【 A 】键。

开始修改

制定方案

因为使用Mac习惯用用大拇指按 Command 键;

![Mac键盘布局](https://cdn.chiga.ga/Posts/Windows/01_keyboard/2021-09-29_009.web

Win环境用Ctrl不太顺手,故把键盘左侧Win(徽标键)和Ctrl键互换,把Win(徽标键)用作Ctrl键使用。

原按键 映射为
左 Ctrl 左 Win
左 Win 左 Ctrl

查阅键码

接下来,只要把对应键位码代入进去就好了!

每个按键的修改占 4 个字节:右边 2 字节为扫描码,左边 2 字节为修改后的扫描码。

通过查阅键位表得知:

按键 扫描码
Left Ctrl 00 1D
Left Windows E0 5B

在注册表中输入时,需要将扫描码的高低字节交换一下。

即:

按键 扫描码 输入值
Left Ctrl 00 1D 1D 00
Left Windows E0 5B 5B E0

输入键值

输入数值后,最后 4 个 0 字节为固定结束符,以 00 00 00 00 结尾,就完成了。

映射完成

完成

最后,重启电脑即可生效。需重启,注销无用。

常见问题

如何让某个键失效?

如果想要某个键失效,将它的扫描码映射为 00 00 即可。

如何撤销更改?

若需要恢复键盘键位为默认布局,只需删除我们新建的 Scancode Map 键值就可以了。

附录:《键位表》

功能区

键位 扫描码
Esc 00 01
F1 00 3B
F2 00 3C
F3 00 3D
F4 00 3E
F5 00 3F
F6 00 40
F7 00 41
F8 00 42
F9 00 43
F10 00 44
F11 00 57
F12 00 58

第一排数字键盘

键位 扫描码
` ~ 00 29
_ 00 0C
= + 00 0D
0 ) 00 0B
1 ! 00 02
2 @ 00 03
3 # 00 04
4 $ 00 05
5 % 00 06
6 ^ 00 07
7 & 00 08
8 * 00 09
9 ( 00 0A

字母

键位 扫描码
A 00 1E
B 00 30
C 00 2E
D 00 20
E 00 12
F 00 21
G 00 22
H 00 23
I 00 17
J 00 24
K 00 25
L 00 26
M 00 32
N 00 31
O 00 18
P 00 19
Q 00 10
R 00 13
S 00 1F
T 00 14
U 00 16
V 00 2F
W 00 11
X 00 2D
Y 00 15
Z 00 2C

符号

键位 扫描码
[ { 00 1A
] } 00 1B
\
; : 00 27
’ ” 00 28
, < 00 33
. > 00 34
/ ? 00 35

小键盘区

键位 扫描码
Num Lock 00 45
/ 00 35
* 00 37
- 00 4A
+ 00 4E
Enter E0 1C
0 00 52
1 00 4F
2 00 50
3 00 51
4 00 4B
5 00 4C
6 00 4D
7 00 47
8 00 48
9 00 49

操作按键

键位 扫描码
Tab 00 0F
Caps Lock 00 3A
Space 00 39
Backspace 00 0E
Enter 00 1C
Left Ctrl 00 1D
Left Shift 00 2A
Left Alt 00 38
Left Windows E0 5B
Right Ctrl E0 1D
Right Shift 00 36
Right Alt E0 38
Right Windows E0 5C
Up E0 48
Down E0 50
Left E0 4B
Right E0 4D

附加按键

键位 扫描码
PrtSc E0 37
Scroll Lock 00 46
Insert E0 52
Delete E0 53
HOME E0 47
End E0 4F
Page Up E0 49
Page Down E0 51