键盘键位(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

Related Posts