Fork me on Github

Windows更改、自定义键盘功能键

为什么要改?

使用mac盘习惯之后回到Windows感觉实盘使用起来很是别扭,所以...

开始行动

新建一个.reg后缀的文件,文件名称随意,编辑输入一下内容:(以下内容是把键盘左侧的CTRL和ALT互换)

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,03,00,00,00,38,00,1D,00,1D,00,38,00,00,00,00,00

保存并运行,最后重启电脑OK

怎么改回去呢?

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,03,00,00,00,38,00,38,00,1D,00,1D,00,00,00,00,00

什么原理呢?

"Scancode Map"=hex:
00,00,00,00,
00,00,00,00,
03,00,00,00,
38,00,1D,00,
1D,00,38,00,
00,00,00,00

  头两行和最后一行,是固定的,都是8个0。

  第3行,表示共更改了多少个按键,本例为3个,怎么算的?从第4行开始,到最末尾行(虽然严格来说末行不算),每行算1个,4、5、6行,刚好3个。

  第4行,前后各4位,分别代表某个按键。本例为将38,00的按键映射为1D,00。38,00代表Left alt键,1D,00代表Left ctrl键。

  第5行,同理,下一行即Left ctrl映射为Left alt。

  第6行,已经讲了,末行,固定8个0。如果需要增加更多的映射,可以在此行之上,不断加类似4、5行格式的。当然,最后的结果,还是要将各行合为一行的。

别的按键怎么改?

Escape             01 00
Tab              0F 00
Caps Lock          3A 00
Left Alt           38 00
Left Ctrl          1D 00
Left Shift         2A 00
Left Windows       5B E0
Right Alt          38 E0
Right Ctrl         1D E0
Right Shift        36 00
Right Windows      5C E0
Backspace          0E 00
Delete             53 E0
Enter              1C 00
Space              39 00
Insert             52 E0
HOME               47 E0
End                4F E0
Num Lock           45 00
Page Down          51 E0
Page Up            49 E0
Scroll Lock        46 00

还有一个特殊的值——00 00,表示啥也不干,如果要将某个按键禁用,只需映射为00 00。

posted @ 2019-10-15 11:28  王者归来!  阅读(4088)  评论(0编辑  收藏  举报