键盘坏了,用注册表来修:Win7/XP修改注册表,替换按键映射

时间:2022-09-04 14:03:21

原文地址:http://nys2k.blog.163.com/blog/static/65520846201212311123251/

键盘坏了,用注册表来修:Win7/XP修改注册表,替换按键映射  



因为清洗本本,清洗液放多了,把键盘D给弄失灵了!弄了个注册表修改如下: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,02,00,00,00,3b,00,20,00,00,00,00,00
好了,这下可以用F1键盘来输入dD了!顺便提一下,就是键盘没坏,这样也可以用来屏蔽自家不喜欢的键,比如我就不喜欢按到F1跳出帮助来!
另外修改成功是参考了下面这篇文章,感谢一下:http://www.cnblogs.com/Rainr/archive/2012/01/21/2328046.html
Windows修改注册表按键映射

Scancode Map 注册表项来实现键盘按键映射。位于注册表的:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout\ 下新建一个二进制值项:  "Scancode Map"

这个项目可实现对键盘按键的映射。这里映射的意思可理解为“替换”,可将任意一键替换成其它键。


[项目格式]

以16进制表示,更分为五个部分,每个逗号之间都为一个字节。

"Scancode Map" = 00,00,00,00,00,00,00,00,   02,00,00,00,   01,00, 02,00,    00,00,00,00 

  1. 8个字节。 这是版本信息号。照例写就好。
  2. 4个字节。 这是映射键的总数。按照二进制的读写规则,低位在左,高位在右。02 00 00 00 这个数实际就是:00 00 00 02 。从 02 开始,一个映射键是 02 ,两个是03 ,依次递加,十个是 0B 。
  3. 2个字节。 表示替换后按键的”扫描码“。如:ESC 键的扫描码是 01 ,所以就表示 01 00 。再如 左Ctrl键扫描码是 1D 00, 而右Ctrl键是 1D E0 。
  4. 2个字节。 表示原按键的”扫描码“。格式同上。
  5. 以四个 00 结束。

[键盘扫描码]

以十六进制表示,分两部份,0X后面两个数是扫描码,最后两个数是 ASCII 码(可忽略)。如 0x011b          ESC 扫描码是01。


扫描码    键

0X011B ESC 
0X3B00 F1 
0X3C00 F2 
0X3D00 F3 
0X3E00 F4 
0X3F00 F5 
0X4000 F6 
0X4100 F7 
0X4200 F8 
0X4300 F9 
0X4400 F10

 

主键盘区: 
0X2960 ~ 
0X0231 1 
0X0332 2 
0X0433 3 
0X0534 4 
0X0635 5 
0X0736 6 
0X0837 7 
0X0938 8 
0X0A39 9 
0X0B30 0 
0X0C2D - 
0X0D3D = 
0X2B5C " 
0X0E08 退格键 
0X0F09 TAB 
0X1071 Q 
0X1177 W 
0X1265 E 
0X1372 R 
0X1474 T 
0X1579 Y 
0X1675 U 
0X1769 I 
0X186F O 
0X1970 P 
0X1A5B [ 
0X1B5D ] 
0X1E61 A 
0X1F73 S 
0X2064 D 
0X2166 F 
0X2267 G 
0X2368 H 
0X246A J 
0X256B K 
0X266C L 
0X273B ; 
0X2827 ' 
0X1C0D 回车 
0X2C7A Z 
0X2D78 X 
0X2E63 C 
0X2F76 V 
0X3062 B 
0X316E N 
0X326D M 
0X332C , 
0X342E . 
0X352F / 
0X3920 空格键


右边数字键盘: 
0X5200 INSERT 
0X4700 HOME 
0X4900 PAGE UP 
0X5300 DELETE 
0X4F00 END 
0X5100 PAGEDOWN 
0X4800 上箭头 
0X4B00 左箭头 
0X5000 下箭头 
0X4D00 右箭头 
0X352F / 
0X372A * 
0X4A2D - (注意,这是数字键盘的)
0X4737 7 
0X4838 8 
0X4939 9 
0X4B34 4 
0X4C35 5 
0X4D36 6 
0X4E2B + 
0X4F31 1 
0X5032 2 
0X5133 3 
0X5230 0 
0X532E DEL

左 Crtl 扫描码是 1D ,表示 1D 00 。 右 Ctrl 键扫描码是 E01D,表示 1D E0。

左 ALT 扫描码是 38 ,表示 38 00 。 右 ALT 键扫描码是 E0 38,表示 38 E0。

左 Shift 扫描码是 2A ,表示 2A 00 。 右 Shift 键扫描码是 36 ,表示 36 00

 

[示例]

1.屏蔽左侧WIN键

  "Scancode Map"=00,00,00,00,00,00,00,00,02,00,00,00,00,00,5B,E0,00,00,00,00 

2.屏蔽右侧WIN键

  "Scancode Map"=00,00,00,00,00,00,00,00,02,00,00,00,00,00,5C,E0,00,00,00,00

3.屏蔽左右WIN两个键

  "Scancode Map"=00,00,00,00,00,00,00,00,03,00,00,00,00,00,5B,E0,00,00,5C,E0,00,00,00,00

4.替换左Crtl键为左Alt键

  "Scancode Map"=00,00,00,00,00,00,00,00,02,00,00,00,38,00,1D,00,00,00,00,00