原文链接
仅仅作为收藏,感谢原博主
在vim中Esc键有很重要的作用,但是却在离手指很远的偏远地区,同时,CapsLock键,即大写锁定键平时用的较少,也在一个很好触及的地方,所以我们希望将两个键位对调 。
1、以下代码保存为 CapsLock2Esc.reg 文件;
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,3a,00,01,00,01,00,3a,00,00,00,00,00
2、双击该文件,弹出框,选“是”;
3、重启系统,完成。
重点分析上面代码中的那一长串二进制,为方便分析,拆分为每8位一行,并加上行号,结果如下:
头两行和最后一行,是固定的,都是8个0。
第3行,表示共更改了多少个按键,本例为3个,怎么算的?从第4行开始,到最末尾行(虽然严格来说末行不算),每行算1个,4、5、6行,刚好3个。
第4行,前后各4位,分别代表某个按键。本例为将3a00的按键映射为0100。3a00代表CapsLock键,0100代表Esc键。
第5行,同理,0100的按键映射为3a00,即Esc映射为CapsLock。
第6行,已经讲了,末行,固定8个0。如果需要增加更多的映射,可以在此行之上,不断加类似4、5行格式的。当然,最后的结果,还是要将各行合为一行的。
部分按键映射对照表,需要查看全部对照,请点击相关资料4。
Escape01 00
Tab0F 00
Caps Lock3A 00
Left Alt38 00
Left Ctrl1D 00
Left Shift2A 00
Left Windows5B E0
Right Alt38 E0
Right Ctrl1D E0
Right Shift36 00
Right Windows5C E0
Backspace0E 00
Delete53 E0
Enter1C 00
Space39 00
Insert52 E0
HOME47 E0
End4F E0
Num Lock45 00
Page Down51 E0
Page Up49 E0
Scroll Lock46 00
还有一个特殊的值——00 00,表示啥也不干,如果要将某个按键禁用,只需映射为00 00。
REG文件实际上是一种windows操作系统的注册表脚本文件,双击REG文件即可将其中的数据导入到注册表当中。利用REG文件我们可以直接对注册表进行任何修改操作,它对注册表的操作可以不受注册表编辑器被禁用的限制,因此功能更为强大、灵活,另外,由于REG文件可以用任何文本文件编辑工具(例如记事本)进行修改,因此通过它对注册表数据进行修改后,如果发生错误,还可以通过改回REG文件中的数据后再导入,从而实现恢复操作,因此它又较之直接用注册表编辑器修改更安全,所以熟练掌握REG文件的运用,有时可以起到事半功倍、意想不到的效果。