注册表键位修改最准确的数值
(2020-10-19 17:46:31)
在注册表
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
项下有一个“二进制值”Scancode Map(默认没有,需新建),格式为:
00 00 00
00
00 00 00
00
xx 00 00
00
xx xx xx
xx
……
00 00 00
00
比如我A键要变成B键,可以用这样的值
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard
Layout]
"Scancode
Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,30,00,1E,00,00,00,00,00
拆开来看就是
00,00,00,00,\
00,00,00,00,\
02,00,00,00,\
30,00,1E,00,\
00,00,00,00
(注:实际上A应该是0030,不过可不必理会)
如果要将A跟B对换,就应该分两次,如下
00,00,00,00,\
00,00,00,00,\
03,00,00,00,\
30,00,1E,00,\
1E,00,30,00,\
00,00,00,00
假如你要禁用某个键而不是修改怎么办,那就把替换的改成不存在的键就行了,F开头的键基本都不存在
注意,数值是十六进制,比如你修改了10个键,第三部分应该为0A,00,00,00以此类推(1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,10,11.....).
下面是不同的键对应的“代码“表
0100 ESC
0200 1
0300 2
0400 3
0500 4
0600 5
0700 6
0800 7
0900 8
0A00 9
0B00 0
0C00 -
0D00 =
0E00 BACKSPACE
0F00 TAB
1E00 A
3000 B
2E00 C
2000 D
1200 E
2100 F
2200 G
2300 H
1700 I
2400 J
2500 K
2600 L
3100 N
3200 M
1800 O
1900 P
1000 Q
1300 R
1F00 S
1400 T
1600 U
1600 U
2F00 V
1100 W
2D00 X
1500 Y
2C00 Z
3300 ,
3400 .
2700 ;
2800 ‘
3800 ALT
3900 /
3900 SPACE
4600 RSHIFT
1B00 ]
1C00 ENTER
1D00 LCTRL
1DE0 RCTRL
2A00 LSHIFT
2B00 \
38E0 RALT
3A00 CAPS LOCK
3B00 F1
3C00 F2
3D00 F3
3E00 F4
3F00 F5
4000 F6
4100 F7
4200 F8
4300 F9
4400 F10
5700 F11
5800 F12
5BE0 左WIN
5CE0 右WIN
5DE0 PAGE UP
D100 PAGE DOWN
C700 HOME
CF00 END
D200 INSERT
D300 DELETE
D000 下
C800 上
CB00 左
CD00 右
小键盘
4F00 NUMBER 1
5000 NUMBER 2
5100 NUMBER 3
4B00 NUMBER 4
4C00 NUMBER 5
4D00NUMBER
4700 NUMBER 7
4800 NUMBER 8
0A00 NUMBER 9
5200 NUMBER 0
4A00 -
B500 /
4E00 +
9C00 ENTER
5300 .
3700 *
C500 NUM LOCK