键盘有两个键失灵,用游戏手柄键盘映射工具具修改没效果,求助

- 最好的系统光盘下载网站!
当前位置: >
> 详细页面
如何借助注册表来修改键盘按键的映射?
来源:系统之家
作者:zhanghong
  在使用电脑的过程中会发现,键盘上很多按键我们平时根本使用不到,但是如果我们不小心碰到了一些按键,将会导致我们无法正常使用键盘,这种情况下,这个按键对我们没有一点好处,并且还是影响我们的使用,那么有什么办法来更改键盘按键的映射吗?其实这个方法很多,本文将给大家介绍借助注册表来修改键盘按键映射的方法。
  在Windows XP/Windows 2000 系统中,提供了一种新的键盘扫描码映射方法,使你能随意地设置键盘键位的布局,这就是注册表中的 &Scancode Map&我们巧妙利用&Scancode Map&就可将普通键盘改造成随心随意的个性化键盘。
  为了正确设置,我们有必要先了解一下&Scancode Map&(扫描码映射)。
  &Scancode Map&是注册表中[HKEY_LOCAL_MacHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]中的一个二进制键值(默认没有,需新建),并且有固定的格式。
  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&,表示只映射一组(这里的数值是映射数目加上末尾用作结尾的&00,00,00,00&,因此总是比实际的映射数目大一),若要映射多组,只需增加相应的值即可,如映射2组其值应为&03&,3组为&04&。
  后边代码每4个是一组:前两个是映射后键位的扫描码,后两个是键位原扫描码。如果要交换两个键,则一个有两组映射,四个值的排列形式是:键A,键B,键B,键A&&它表示:键A成为键B,键B成为键A。
  最后以&00,00,00,00& 结尾。
  注意:在注册表中输入时,需要将扫描码的高低字节交换一下。
  另外,如果想要某个键失效,将它的扫描码映射为&00 00&即可。
  若要恢复键盘键位原来的布局,只需定位于注册表[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout],删除&Scancode Map&键值即可。
  特别说明:
  1. 在目前的Windows版本下面,对键盘映射是全局的,而不是针对某个用户的,如果您修改添加或者删除了某个映射,那么不管哪个用户使用,键盘都发生了变化;
  另外,如果一台电脑有多个键盘,那这些键盘都会产生同样的变化。
  2. 在XP上不能屏蔽POWER、SLEEP、WAKE UP这三个键。(没有亲自测试,笔记本上没有这三个键,如果真不行就通过bios设置应该可以把相应功能禁用掉。)
  3. thinkpad 上的&Fn&键是不能被映射的,因为它不能被OS识别,所以不能使用上面的方式进行设置。thinkpad新版的bios里面提供了一个功能,让左侧的&Fn&键和相邻的&Ctrl&键进行功能互换,感觉用处不是很大,有需要的朋友可以去试试看。(如果在笔记本的 bios上找不到这个功能的话,需要刷新版bios,操作很简单,不要恐惧)
  导入或设置或修改或删除注册表键值后,重启你的电脑,改变就生效了。
  也可以用将下面的文本存成&scancode.reg&,双击导入注册表。键值可通过查上面提到的键位表查询,找到你要替换的Scan Code码,把##,##替换掉就可以了。
  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,##,##,##,##,00,00,00,00
  了解了&Scancode Map&之后,我们就可以来利用添加功能键了。比如WIN键扫描码为:&E0 5B&,Esc为&00 01&,左边的Ctrl为&00 1D&,更详细的扫描码请见键盘扫描码。
  举例:
  比如:前面提到的IBM ThinkPad键盘,为了把那个浏览器网页前后浏览的键禁止,可以设置为:
  &Scancode Map&=hex:00,00,00,00,00,00,00,00,03,00,00,00,00,00,6A,E0,00,00,69,E0,00,00,00,00
  比如:说我们想把F9,F10键修改成为音量调整键,通过查表,可以得知:
  F9、F10扫描码分别为(00,43)、(00,44),
  Volume Up、Volume Down的扫描码分别为(E0,30)、(E0,2E),
  这样只要将Scancode设置为如下就可以了: &Scancode Map&=hex:00,00,00,00,00,00,00,00,03,00,00,00,30,E0,43,00,2E,E0,44,00,00,00,00,00
  (含义为:| 版本号和头部字节| 两组映射| 第一组 | 第二组 | 结尾终止 |)
  我是把&后退&和&前进&两个按键映射为&上翻页&和&下翻页&,注册表文件如下:
  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,03,00,00,00,49,e0,6a,e0,51,e0,69,e0,00,00,00,00
  再次说明:所有对注册表的修改,必须在重新启动电脑后,才能生效。
  Linux系统中可以用下面命令:
  [root@localhost ~]# setkeycodes e06a 104
  [root@localhost ~]# setkeycodes e069 109
  在linux环境下可以用showkey命令测试按键的键盘码或者扫描码(加-s选项),注意按键&按下&和&松开&的扫描码可能不一样,例如大小写切换键,按下是3A,松开是BA
  键盘扫描码对应表
点击图片放大观看
  现在使用的是fedora 20,将这两句写在了/etc/rc.d/rc.local中,保证能够在启动后被加载。
  以上便是通过注册表来修改键盘按键映射的方法,如果你对键盘上一些不常用的按键&忍无可忍&了,就可以用上面的方法将按键映射修改,关于恢复原来按键功能的方法,也在上文中有提到过,只需按照步骤操作即可。
栏目热门教程
人气教程排行
热门系统下载
本站发布的系统与软件仅为个人学习测试使用,请在下载后24小时内删除,不得用于任何商业用途,否则后果自负,请支持购买微软正版软件!如侵犯到您的权益,请及时通知我们,我们会及时处理。
Copyright&2011 系统之家(www.xitongzhijia.net) 版权所有 闽ICP备号-1笔记本键盘一个按键失灵,能不能用映射功能用另外一个键代替那个坏的?
本回答由提问者推荐

我要回帖

更多关于 手柄键盘映射工具 的文章

 

随机推荐