键盘键位(Scancode Map)详细介绍

键位的Scancode Map介绍(英文):
http://download.microsoft.com/download/whistler/hwdev3/1.0/WXP/EN-US/scancode.exe

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,|原键,替代键,原键,替代键,|00,00,00,00

其含义为:
前8个00(DWord两个0)是版本号,接下来的“02”表示映射数,其最小为值为“02”,表示只映射一组,若要映射多组,只需增加相应的值即可,如映射2组其值应为“03”,3组为“04”,4组为“05”

后边代码每4个是一组:前两个是映射后键位的扫描码,后两个是键位原扫描码。如果要交换两个键,则最后四个值的排列形式是:键A,键B,键B,键A——它表示:键A成为键B,键B成为键A

最后以“00,00,00,00” 结尾。

示例:
将CAPSLOCK替换到左边的SHIFT

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,3a,00,2a,00,00,00,00,00

This entry was posted in Technology and tagged , , . Bookmark the permalink. 20,761 views

Related Posts

2 Responses to 键盘键位(Scancode Map)详细介绍

  1. Question says:

    請問 L-CTRL 和 R-CTRL的Scancode是多少?
    研究半天還是看不出來..
    [reply=pop,2010-06-27 09:25 AM]我这个码表也是转载过来的。你还是自己研究一下咯。要是研究出来了,记得留言啊。[/reply]

    • mc says:

      Caps Lock 3A
      L CTRL 1D
      R CTRL E0 1D

      由于我的Caps Lock极少使用,而Ctrl使用较多,
      让Caps Lock大小写键变成 Ctrl 键
      hex:00,00,00,00,00,00,00,00,02,00,00,00,1d,00,3a,00,00,00,00,00

Leave a Reply

Your email address will not be published. Required fields are marked *