本文參考於博主三更_雨的博客:win7左ctrl和左alt鍵互換
0、寫給小白,大神略過
這里描述的方法都是寫的注冊表文件,方法是在桌面或者啥地方新建一個TXT文本文檔(不會就百度一下),在TXT文檔里面填寫相關的注冊表代碼,寫好保存,將這個TXT文檔的后綴名改成reg,雙擊運行,然后重啟電腦就好了。后綴名怎么看,不會請百度一下。
1、學習這個操作的背景簡要描述
新買了一個Lofree的小浪鍵盤,但是它上面的Alt鍵和Win鍵的位置與我平時用的鍵盤是反的,因為筆記本鍵盤會多一個Fn鍵在中間,所以基本上手操作Ctrl和Alt鍵組合的快捷鍵的時候手會多跨一個鍵,但是在這個鍵盤上就不行了,為了統一操作習慣,免得在不同的鍵盤上反復切換這個手指間距,所以學習了下怎么去修改和設定功能鍵的位置。
2、先上一下win與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,5B,E0,5B,E0,38,00,00,00,00,00
換種寫法
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,5B,E0,
5B,E0,38,00,
00,00,00,00
3、原理介紹
如博主三更_雨博客中介紹的一樣,Windows上的功能鍵是存在編碼映射的,理論上來說只要我們將其映射關系改變一下,就可以改變對應功能鍵的功能了。
上面的內容簡要描述一下:
頭兩行和最后一行,是固定的,都是8個0。
第3行,表示共更改了多少個按鍵,本例為3個,算法是從第4行開始,到最末尾行(雖然嚴格來說末行不算),每行算1個,4、5、6行,剛好3個。
第4行,前后各4位,分別代表某個按鍵。本行是將38,00的按鍵映射為5B,E0。5B,E0代表Left Windows鍵,38,00代表Left Alt鍵,即將Left Alt映射到Left Windows鍵。
第5行,同理,即將Left Windows映射到Left Alt鍵。
第6行,末行,固定8個0。如果需要增加更多的映射,可以在此行之上,不斷加類似4、5行格式的。
最后的結果,還是要將各行合為一行的,上面分行寫是為了方便解釋
4、番外:將按鍵還原回去
如果不小心把這個設置錯了,還原回去也是一樣的原理,映射自身編碼給自己就好了。同樣以Alt和Win舉例:
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,5B,E0,5B,E0,00,00,00,00
最后附上常見的功能鍵編碼表:
| 按鍵 | 編碼 |
|---|---|
| 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 |
