Win10 - 用注册表修改键位映射
因键盘布局不符合个人使用习惯,键盘某个按键失灵等等情况,我们可以通过修改键位映射来很好的解决这些问题。
修改键位映射
操作步骤如下:
打开注册表编辑器
按下 Win+R
打开运行,输入 regedit
,点击确定。
创建映射文件
打开后我们看到的界面是这样的。
我们需要在左侧目录树下定位到这个地方:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
就是这个目录,注意不要点进它的两个子文件夹里。
在右侧空白处「右键」 –> 新建,选择「二进制值」。
并且给建好的文件取名为 Scancode Map
。
修改注册表键值
打开 Scancode Map
文件;
前 8 个字节是版本信息,输入 8 组 00 即可;
接下来 4 组数值表示映射的数量,填写 03 00 00 00
。其中 03 表示有 2 组映射。
若要映射多组,只需增加相应的值即可,如映射 3 组填写为 04 ,映射 5 组填写为 06 ,其最小值为 02 ,表示只映射 1 组。
接下来每 4 组数值代表一个映射,每一个映射格式如下:【 A 】 【 B 】
【 B 】映射为【 A 】,即按下【 B 】键时,则按下原来的 【 A 】键。
开始修改
制定方案
因为使用Mac
习惯用用大拇指按 Command
键;
换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 100% %} | 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 |