Scancode Map 注冊表項來實現鍵盤按鍵映射。
位於注冊表的:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout\ 下新建一個二進制值項: "Scancode Map"
這個項目可實現對鍵盤按鍵的映射。這里映射的意思可理解為“替換”,可將任意一鍵替換成其它鍵。
[項目格式]
以16進制表示,更分為五個部分,每個逗號之間都為一個字節。
"Scancode Map" = 00,00,00,00,00,00,00,00, 02,00,00,00, 01,00, 02,00, 00,00,00,00
- 8個字節。 這是版本信息號。照例寫就好。
- 4個字節。 這是映射鍵的總數。按照二進制的讀寫規則,低位在左,高位在右。02 00 00 00 這個數實際就是:00 00 00 02 。從 02 開始,一個映射鍵是 02 ,兩個是03 ,依次遞加,十個是 0B 。
- 2個字節。 表示替換后按鍵的”掃描碼“。如:ESC 鍵的掃描碼是 01 ,所以就表示 01 00 。再如 左Ctrl鍵掃描碼是 1D 00, 而右Ctrl鍵是 1D E0 。
- 2個字節。 表示原按鍵的”掃描碼“。格式同上。
- 以四個 00 結束。
[鍵盤掃描碼]
以十六進制表示,分兩部份,0X后面兩個數是掃描碼,最后兩個數是 ASCII 碼(可忽略)。如 0x011b ESC 掃描碼是01。
掃描碼 鍵
0X011B ESC
0X3B00 F1
0X3C00 F2
0X3D00 F3
0X3E00 F4
0X3F00 F5
0X4000 F6
0X4100 F7
0X4200 F8
0X4300 F9
0X4400 F10
主鍵盤區:
0X2960 ~
0X0231 1
0X0332 2
0X0433 3
0X0534 4
0X0635 5
0X0736 6
0X0837 7
0X0938 8
0X0A39 9
0X0B30 0
0X0C2D -
0X0D3D =
0X2B5C "
0X0E08 退格鍵
0X0F09 TAB
0X1071 Q
0X1177 W
0X1265 E
0X1372 R
0X1474 T
0X1579 Y
0X1675 U
0X1769 I
0X186F O
0X1970 P
0X1A5B [
0X1B5D ]
0X1E61 A
0X1F73 S
0X2064 D
0X2166 F
0X2267 G
0X2368 H
0X246A J
0X256B K
0X266C L
0X273B ;
0X2827 '
0X1C0D 回車
0X2C7A Z
0X2D78 X
0X2E63 C
0X2F76 V
0X3062 B
0X316E N
0X326D M
0X332C ,
0X342E .
0X352F /
0X3920 空格鍵
右邊數字鍵盤:
0X5200 INSERT
0X4700 HOME
0X4900 PAGE UP
0X5300 DELETE
0X4F00 END
0X5100 PAGEDOWN
0X4800 上箭頭
0X4B00 左箭頭
0X5000 下箭頭
0X4D00 右箭頭
0X352F /
0X372A *
0X4A2D - (注意,這是數字鍵盤的)
0X4737 7
0X4838 8
0X4939 9
0X4B34 4
0X4C35 5
0X4D36 6
0X4E2B +
0X4F31 1
0X5032 2
0X5133 3
0X5230 0
0X532E DEL
左 Crtl 掃描碼是 1D ,表示 1D 00 。 右 Ctrl 鍵掃描碼是 E01D,表示 1D E0。
左 ALT 掃描碼是 38 ,表示 38 00 。 右 ALT 鍵掃描碼是 E0 38,表示 38 E0。
左 Shift 掃描碼是 2A ,表示 2A 00 。 右 Shift 鍵掃描碼是 36 ,表示 36 00
[示例]
1.屏蔽左側WIN鍵
"Scancode Map"=00,00,00,00,00,00,00,00,02,00,00,00,00,00,5B,E0,00,00,00,00
2.屏蔽右側WIN鍵
"Scancode Map"=00,00,00,00,00,00,00,00,02,00,00,00,00,00,5C,E0,00,00,00,00
3.屏蔽左右WIN兩個鍵
"Scancode Map"=00,00,00,00,00,00,00,00,03,00,00,00,00,00,5B,E0,00,00,5C,E0,00,00,00,00
4.替換左Crtl鍵為左Alt鍵
"Scancode Map"=00,00,00,00,00,00,00,00,02,00,00,00,38,00,1D,00,00,00,00,00
數據及信息經網絡收集所得 2012-01-21