首页 > 代码库 > win7左ctrl和左alt键互换

win7左ctrl和左alt键互换

主要参考这篇文章: http://xyztony1985.blog.163.com/blog/static/3611782011752420104/

感谢原博主

 

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

 

在记事本上复制如上代码。之后保存为.reg格式的文件。

点击执行,选择是。

之后重启就搞定了。

 


以下为对原文的引用。

 

重点解读

重点分析上面代码中的那一长串二进制,为方便分析,拆分为每8位一行,并加上行号,结果如下:

"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,0038,00代表Left alt键,1D,00代表Left ctrl键。

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

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

 

附录

部分按键映射对照表,需要查看全部对照

Escape             01 00Tab              0F 00Caps Lock          3A 00Left Alt           38 00Left Ctrl          1D 00Left Shift         2A 00Left Windows       5B E0Right Alt          38 E0Right Ctrl         1D E0Right Shift        36 00Right Windows      5C E0Backspace          0E 00Delete             53 E0Enter              1C 00Space              39 00Insert             52 E0HOME               47 E0End                4F E0Num Lock           45 00Page Down          51 E0Page Up            49 E0Scroll Lock        46 00

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