在windows系統下,在某些狀況下,咱們感受鍵盤的按鍵位置不是特別方便,所以想從新映射它。html
好比:要實現以下從新映射(我就有這樣的需求),怎麼辦?linux
Esc鍵 修改成 CapsLock鍵
CapsLock鍵 修改成 左Shift鍵
左Shift鍵 修改成 左ctrl鍵
左ctrl鍵 修改成 左alt鍵
左alt鍵 修改成 Esc鍵
Enter鍵 修改成 右Shift鍵
右Shift鍵 修改成 Enter鍵
打開瀏覽器,進行百度!windows
哦,原來已經有人來解決了。。。。好比:瀏覽器
http://www.cnblogs.com/Rainr/archive/2012/01/21/2328046.html(該連接裏面的步驟例子比較好)工具
http://blog.chinaunix.net/uid-174325-id-3912617.html( 該連接裏面的按鍵掃描碼值比較好, 使用小端模式表示的,能夠直接使用)post
第一步:按 windows + R, 輸入 regedit, 打開註冊表。ui
第二步: 找到:HKEY_LOCAL_MACHINE\ SYSTEM\ CurrentControlSet\ Control\ Keyboard Layout 下。url
第三步:右鍵新建二進制值,名字爲Scancode Map。spa
第四步:右鍵名字Scancode Map, 選擇修改二進制值, 輸出 XXXX, 完成。.net
第五步: 重啓電腦, 修改生效。
XXXX 的格式爲:
1. 二進制值使用16進製表示,而且使用小端格式(即低位在前,高位在後,例如32位系統的16進制0xab002301,在小端模式下表示爲:012300ab)。
2. 前8個字節爲版本信息號,使用 00 00 00 00 00 00 00 00 表示。
3. 接下來4個字節表示你修改的映射的個數。修改一個映射表示爲 02 00 00 00(從2開始),修改兩個映射表示爲03 00 00 00,等等。
4. 接下來的 4 * n 個字節表示你修改的映射(其中n 表示你修改的映射的數目)。 4個字節的前2個字節表示映射後的按鍵掃描碼,後2個字節表示你映射前的按鍵掃描碼。
5. 最後使用4個字節的 00 00 00 00 結束 。
舉例:
有以下按鍵的掃描碼的值(使用小商模式下表示的):
1. Esc鍵的掃描碼爲 0100, CapsLock鍵的掃描碼爲3A00, 回車鍵的掃描碼爲1C00, 右ctrl的掃描碼爲1DE0。
把Esc鍵映射爲CapsLock鍵:
00 00 00 00 00 00 00 00 02 00 00 00 3A 00 01 00 00 00 00 00
2. 把Esc鍵映射爲CapsLock鍵, 把回車鍵映射爲右Shift鍵:
00 00 00 00 00 00 00 00 03 00 00 00 3A 00 01 00 36 00 1C 00 00 00 00 00
3. 文章開頭描述的按鍵從新映射的二進制值爲:
00 00 00 00 00 00 00 00 08 00 00 00 3A 00 01 00 2A 00 3A 00 1D 00 2A 00 38 00 1D 00 01 00 38 00 36 00 1C 00 1C 00 36 00 00 00 00 00
OK, 搞定!
若是想知道linux下的鍵盤從新映射方法,請看以前我寫的: linux系統下鍵盤按鍵的從新映射——xmodmap工具和xev工具。