作者:iamlaosong
朋友的笔记本电脑的Ctrl键坏了,常用的Ctrl+C和Ctrl+V用不了(临时用右键菜单中的复制粘贴代替),给日常工作带来很大不便。网上找了一下解决办法,发现比较简单的办法是通过修改注册表,用其他键代替Ctrl键,比如不常用的win键。
1、用记事本将下列内容复制到一个文本文件中,扩展名用.reg(例如:kkk.reg):
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,1D,00,5B,E0,00,00,00,00
双击这个文件,就会在注册表中键Keyboard Layout下增加一个二进制Scancode Map键值,用左边的win键代替左边的Ctrl键。
重启你的电脑后,这个改变就生效了。
2、Scancode Map 代码的一般格式是:
“hex:00,00,00,00,00,00,00,00,|02|,00,00,00,|映射之后的扫描码(XX XX),原扫描码(XX
XX)|00,00,00,00”。
其含义为:前8个00(DWord两个0)是版本号和头部字节,接下来的“02”表示映射数,其最小为值为“02”,表示只映射一组(一组4个字节,这里的数值是映射数目加上最后面用作结尾的“00,00,00,00”,因此总是比实际的映射数目大一),若要映射多组,只需增加相应的值即可,如映射2组其值应为“03”,3组为“04”。后边代码每4个是一组:前两个是映射后键位的扫描码,后两个是键位原扫描码。如果要交换两个键,则一个有两组映射,四个值的排列形式是:键A,键B,键B,键A——它表示:键A成为键B,键B成为键A。最后以“00,00,00,00” 结尾。了解了“Scancode Map”之后,我们就可以来利用添加功能键了。比如前面我用的win键扫描码为:“E0 5B”,Esc为“00 01”,左边的Ctrl为“00 1D”,更详细的扫描码请见键盘扫描码。
注意注册表中二进制值的顺序,低8位在前,高8位在后。比如左边的Ctrl的“00 1D”在注册表中是:1D 00
3、恢复键盘键位原来的布局,只需定位于注册表
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout],删除"Scancode Map"键值,然后重启电脑即可。
参见:1、键盘坏了,用注册表来修:Win7/XP修改注册表,替换按键映射
2、注册表:更改键盘扫描码映射