按键重映射
有时候键盘上没有多媒体按键, 这时候就要重新映射按键了
如果你买了一个键盘但是却没有多媒体按键, 那就只能苦逼的用鼠标加减音量, 用软件的全局快捷键来切歌? 不, 键盘上明明有很多根本用不上的按键, 比如最上面的一排Fn(F5除外). 将这些按键变废为宝就是我们需要做的了.
说到这里, 我们可以将F1到F3变成音量调节的按键, F6-F8作为切歌的多媒体按键. 具体做法参照下面:
如果不想看原理, 点击这里下载已经写好的键盘映射:
(F1:静音, F2:减小音量, F3:增大音量, F6:上一曲, F7:暂停/播放, F8下一曲)
教程
我们使用注册表来进行键盘的重映射. 首先是找到注册表的位置: [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Keyboard Layout]
, 如果没有这个文件夹就新建一个
进入文件夹后找到Scancode Map
这个键, 如果没有这个键就新建一个, 这个键值应该是二进制的.
- 项值的格式如下(以16进制表示,每两个0表示一字节,分五部份):
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,01,00,02,00,00,00,00,00
- 第一部份:8个 00 ,这是版本信息号。照例写就是了。
- 第二部份: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 结束。
第二部分的映射按键总数包括最后面的结束标识符. 第三部分和第四部分可以改为不同的二进制码.
多媒体键简介
目前最常用的标准键盘是104键键盘,是在IBM定义的101键键盘标准上增加了两个Windows徽标键和一个右键菜单键而成,俗称Win95键盘。此类键盘一直沿用IBM标准,采用行列矩阵方式布局排列,称为扫描矩阵,扫描矩阵定义为8行×16列=128键。对于104键键盘而言,还有24个闲置键位未定义。107键键盘就是从这些闲置键位中选择了三个定义为“Power”、“Sleep”和“Wake UP”。后来微软又增加了18个键定义,用于完成音量调整、播放/暂停、打开浏览器等功能,为了方便,本文中我们将这18个键统称为多媒体键,部分键值详见下表:
注意:在注册表中输入时,需要将扫描码的高低字节交换一下
另外,如果想要某个键失效,将它的扫描码映射为"00 00"
即可
若要恢复键盘键位原来的布局, 只需定位于注册表删除 Scancode Map
键值即可
键盘扫描码 Scancode
key | mark | key | mark | key | mark | key | mark |
主键盘 | |||||||
~/· | 29 | Tab | 0f | Caps Lock | 3a | L-shift | 2a |
!/1 | 2 | q | 10 | a | 1e | z | 2c |
@/2 | 3 | w | 11 | s | 1f | x | 2d |
#/3 | 4 | e | 12 | d | 20 | c | 2e |
$/4 | 5 | r | 13 | f | 21 | v | 2f |
%/5 | 6 | t | 14 | g | 22 | b | 30 |
^/6 | 7 | y | 15 | h | 23 | n | 31 |
&/7 | 8 | u | 16 | j | 24 | m | 32 |
/8 | 9 | i | 17 | k | 25 | </, | 33 |
(/9 | 0a | o | 18 | l | 26 | >/. | 34 |
)/0 | 0b | p | 19 | :/; | 27 | ? | 35 |
_/- | 0c | {/[ | 1a | "/‘ | 28 | R-shift | 36 |
+/= | 0d | }/] | 1b | Enter | 1c | L-ctrl | 1d |
|/\ | 2b | L-alt | 38 | ||||
Backspace | 0e | Space | 39 | ||||
R-alt | e0 38 | ||||||
R-ctrl | e0 1d | ||||||
小键盘 | |||||||
NumLock | 45 | 8/Up | 48 | 1/End | 4f | + | 4e |
/ | e0 35 | 9/PgUp | 49 | 2/Down | 50 | Enter | e0 1c |
37 | 4/Left | 4b | 3/PgDn | 51 | |||
- | 4a | 5 | 4c | 0/Ins | 52 | ||
7/Home | 47 | 6/Right | 4d | ./Del | 53 | ||
附加键 | |||||||
Scroll Lock | 46 | Page Up | e0 49 | Page Down | e0 51 | Up | e0 48 |
Insert | e0 52 | Delete | e0 53 | Left | e0 46 | Down | e0 50 |
Home | e0 47 | End | e0 4f | Right | e0 4d | ||
功能键 | |||||||
Esc | 1 | F1 | 3b | F5 | 3f | F9 | 43 |
F2 | 3c | F6 | 40 | F10 | 44 | ||
F3 | 3d | F7 | 41 | F11 | 57 | ||
F4 | 3e | F8 | 42 | F12 | 58 | ||
媒体键 | |||||||
Mute | e0 20 | Paly/Pasue | e0 22 | Volume Down | e0 2e | Stop | e0 24 |
Next Track | e0 19 | Prev Track | e0 10 | Volume Up | e0 30 |
评论区