电脑技术学习

妙用注册表 空手打造多媒体键盘

dn001
  现在许多高档的多媒体键盘都有一些附加的功能键,通过这些功能键可以方便地实现音量调节、网页浏览、收发邮件等功能。只须手指轻轻一按,即可轻松遨游互联网络及多媒体世界,看着别人一键定乾坤的样子实在有点羡慕,无奈身上银子不多消受不起,难道就没有办法了吗?

  非也!实际上微软在Windows XP/Windows 2000 系统中,提供了一种新的键盘扫描码映射方法,使你能随意地设置键盘键位的布局,这就是注册表中的 “Scancode Map”(这可算是微软的一点人性化设计,不过遗憾的是大多数人并不“领情”)。我们巧妙利用“Scancode Map”就可将普通键盘改造成准多媒体键盘。

  而能改造的原因就在于多媒体键盘上的功能键通常也是通过扫描码(键盘处理器大部分时间在“扫描”, 监视着键矩阵. 一旦发现有键被按下,释放,或被按住不放,键盘处理器就会向计算机发送一个数据包,称为键盘扫描码)来实现的,因而在普通键盘上,只要将其他键位映射到这些功能键上即可实现这些功能。因而,我们的思路就是妙用注册表将键盘上一些比较“闲置”的键改造成功能键。下面我们就一起来将打造成多媒体键盘。

  什么是“Scancode Map”?

  我们有必要先了解一下“Scancode Map”(扫描码映射),“Scancode Map”是注册表中[HKEY_LOCAL_MacHINESYSTEMCurrentControlSetControlKeyboard Layout]中的一个二进制键值(默认没有,需新建),并且有固定的格式。Scancode Map 代码的一般格式是:“hex:00,00,00,00,00,00,00,00,|02|,00,00,00,|原键,替代键,原键,替代键,|00,00,00,00”。其含义为:前8个00(DWord两个0)是版本号,接下来的“02”表示映射数,其最小为值为“02”,表示只映射一组,若要映射多组,只需增加相应的值即可,如映射2组其值应为“03”,3组为“04”;后边代码每4个是一组:前两个是映射后键位的扫描码,后两个是键位原扫描码。如果要交换两个键,则最后四个值的排列形式是:键A,键B,键B,键A——它表示:键A成为键B,键B成为键A。最后以“00,00,00,00” 结尾。了解了“Scancode Map”之后,我们就可以来利用添加功能键了。

  1.调节音量功能键

  现在许多多媒体键盘基本都有音量调节的功能键,当然利用一些小软件也可实现,而实际上利用“Scancode Map”更简单有效,下面的方法可将F9、F10改为音量控制键。

  从图一(常用的可实现的功能键的扫描码)中查出Volume Up、Volume Down的扫描码分别为(E0,30)、(E0,2E),(Fn和WINS等键位的扫描码)中查出F9、F10扫描码分别为(00,43)、(00,44),注意在注册表中需要将二进制值的高低字节交换一下,套用上面的“Scancode Map”格式,"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,因而将下面的内容输入记事本,另存为win.reg文件并双击导入注册表,:

  Windows Registry Editor Version 5.00

  [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlKeyboard Layout]

  "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

  然后重启电脑后,F9、F10就变成音量控制键,能一键调节音量大小了。我们还可以将F12改造成静音键,代码为:

  Windows Registry Editor Version 5.00

  [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlKeyboard Layout]

  "Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,20,E0,58,00,00,00,00,00

标签: 键盘