设置方法如下:
1、首先在开始菜单或者运行中输入 regedit 打开注册表编辑器
2、定位到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout,在Windows 10新版本中可以直接复制到注册表地址栏按Enter键定位。
3、右键点击Keyboard Layout,选择 新建 - 二进制值,命名为Scancode Map。
屏蔽按键:
下面来说说如何为Scancode Map填充数据,以屏蔽Caps Lock键为例,可以将Scancode Map的数据修改为下面一串数字。
00 00 00 00 00 00 00 00 02 00 00 00 00 00 3a 00 00 00 00 00
了解下它的格式。
黑色部分,前面8对以及结尾4对0,你可以认为是固定格式。
青色部分,02 00 00 00,指明有多少个映射。什么是1个映射?后面的00 00 3a 00就是,由于结尾的4对0也算,所以映射的数量总是实际映射数量+1。
由于数据需要填充成4对的形式,所以数量为00 00 00 02,然后将它倒过来输入,为什么倒过来?你可以认为这是规定。注意同一对内的数字不要颠倒顺序。
如果你非常的疯狂,映射数量是10或者超过了,可不要直接写10,在16进制中只有0到9,a到f(代表10到15),16进制的10转化为10进制,是16。需要了解的话,可以打开Windows系统自带的计算器,切换到程序员模式,查看hex数据。
绿色部分,00 00 3a 00,如上述颜色所示,它们分为2个部分,目的是把3a 00(Caps Lock键)映射为00 00(空)。这些数字被称为扫描码,Caps Lock键的16进制扫描码是3a,填充成2对,为00 3a,然后倒序输入。
映射按键:
再举个例子,屏蔽Tab键,将Caps Lock键映射为Tab键。
Tab键的16进制扫描码为0f,Caps Lock键的扫描码为3a,需要做2对映射,所以映射数量为3。按照上述组织数据的方法,最终需要填入的数据为:
00 00 00 00 00 00 00 00 03 00 00 00 00 00 0f 00 0f 00 3a 00 00 00 00 00
修改完成后重新启动生效。此修改会影响所有用户,若要恢复,可以将Scancode Map删除。
以下是大多键盘按键对应的扫描码(Scan code)大家可以参考:
Hex Scan Code | Key | Hex Scan Code | Key | Hex Scan Code | Key | Hex Scan Code | Key | Hex Scan Code | Key | Hex Scan Code | Key |
20 | D | 40 | F6 | 60 | Ctrl F3 | 80 | Alt 9 | A0 | Alt Dn Arrow | ||
01 | ESC | 21 | F | 41 | F7 | 61 | Ctrl F4 | 81 | Alt 0 | A1 | Alt PgDn |
02 | 1 | 22 | G | 42 | F8 | 62 | Ctrl F5 | 82 | Alt - | A2 | Alt Ins |
03 | 2 | 23 | H | 43 | F9 | 63 | Ctrl F6 | 82 | Alt = | A3 | Alt Del |
04 | 3 | 24 | J | 44 | F10 | 64 | Ctrl F7 | 84 | Ctrl PgUp | A4 | Alt / (num) |
05 | 4 | 25 | K | 45 | Num Lk | 65 | Ctrl F8 | 85 | F11 | A5 | Alt Tab |
06 | 5 | 26 | L | 46 | Scrl Lk |
66 | Ctrl F9 | 86 | F12 | A6 | Alt Enter (num) |
07 | 6 | 27 | ; : | 47 | Home | 67 | Ctrl F10 | 87 | SH F11 | ||
08 | 7 | 28 | ' " | 48 | Up Arrow | 68 | Alt F1 | 88 | SH F12 | ||
09 | 8 | 29 | ` ~ | 49 | Pg Up | 69 | Alt F2 | 89 | Ctrl F11 | ||
0A | 9 | 2A | L SH | 4A | - (num) | 6A | Alt F3 | 8A | Ctrl F12 | ||
0B | 0 | 2B | \ | | 4B | 4 Left Arrow | 6B | Alt F4 | 8B | Alt F11 | ||
0C | - _ | 2C | Z | 4C | 5 (num) | 6C | Alt F5 | 8C | Alt F12 | ||
0D | = + | 2D | X | 4D | 6 Rt Arrow | 6D | Alt F6 | 8C | Ctrl Up Arrow | ||
0E | BKSP | 2E | C | 4E | + (num) | 6E | Alt F7 | 8E | Ctrl - (num) | ||
0F | Tab | 2F | V | 4F | 1 End | 6F | Alt F8 | 8F | Ctrl 5 (num) | ||
10 | Q | 30 | B | 50 | 2 Dn Arrow | 70 | Alt F9 | 90 | Ctrl + (num) | ||
11 | W | 31 | N | 51 | 3 Pg Dn | 71 | Alt F10 | 91 | Ctrl Dn Arrow | ||
12 | E | 32 | M | 52 | 0 Ins | 72 | Ctrl PtScr | 92 | Ctrl Ins | ||
13 | R | 33 | , < | 53 | Del . | 73 | Ctrl L Arrow | 93 | Ctrl Del | ||
14 | T | 34 | . > | 54 | SH F1 | 74 | Ctrl R Arrow | 94 | Ctrl Tab | ||
15 | Y | 35 | / ? | 55 | SH F2 | 75 | Ctrl End | 95 | Ctrl / (num) | ||
16 | U | 36 | R SH | 56 | SH F3 | 76 | Ctrl PgDn | 96 | Ctrl * (num) | ||
17 | I | 37 | PtScr | 57 | SH F4 | 77 | Ctrl Home | 97 | Alt Home | ||
18 | O | 38 | Alt | 58 | SH F5 | 78 | Alt 1 | 98 | Alt Up Arrow | ||
19 | P | 39 | Spc | 59 | SH F6 | 79 | Alt 2 | 99 | Alt PgUp | ||
1A | [ { | 3A | CpsLk | 5A | SH F7 | 7A | Alt 3 | 9A | |||
1B | ] } | 3B | F1 | 5B | SH F8 | 7B | Alt 4 | 9B | Alt Left Arrow | ||
1C | Enter | 3C | F2 | 5C | SH F9 | 7C | Alt 5 | 9C | |||
1D | Ctrl | 3D | F3 | 5D | SH F10 | 7D | Alt 6 | 9D | Alt Rt Arrow | ||
1E | A | 3E | F4 | 5E | Ctrl F1 | 7E | Alt 7 | 9E | |||
1F | S | 3F | F5 | 5F | Ctrl F2 | 7F | Alt 8 | 9F | Alt End |