做者:iamlaosong佈局
朋友的筆記本電腦的Ctrl鍵壞了,經常使用的Ctrl+C和Ctrl+V用不了(臨時用右鍵菜單中的複製粘貼代替),給平常工做帶來很大不便。網上找了一下解決辦法,發現比較簡單的辦法是經過修改註冊表,用其餘鍵代替Ctrl鍵,好比不經常使用的win鍵。ui
一、用記事本將下列內容複製到一個文本文件中,擴展名用.reg(例如:kkk.reg):.net
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,02,00,00,00,1D,00,5B,E0,00,00,00,00
code
雙擊這個文件,就會在註冊表中鍵Keyboard Layout下增長一個二進制Scancode Map鍵值,用左邊的win鍵代替左邊的Ctrl鍵。
blog
重啓你的電腦後,這個改變就生效了。get
二、Scancode Map 代碼的通常格式是:it
「hex:00,00,00,00,00,00,00,00,|02|,00,00,00,|映射以後的掃描碼(XX XX),原掃描碼(XX io
XX)|00,00,00,00」。class
其含義爲:前8個00(DWord兩個0)是版本號和頭部字節,接下來的「02」表示映射數,其最小爲值爲「02」,表示只映射一組(一組4個字節,這裏的數值是映射數目加上最後面用做結尾的「00,00,00,00」,所以老是比實際的映射數目大一),若要映射多組,只需增長相應的值便可,如映射2組其值應爲「03」,3組爲「04」。後邊代碼每4個是一組:前兩個是映射後鍵位的掃描碼,後兩個是鍵位原掃描碼。若是要交換兩個鍵,則一個有兩組映射,四個值的排列形式是:鍵A,鍵B,鍵B,鍵A——它表示:鍵A成爲鍵B,鍵B成爲鍵A。最後以「00,00,00,00」 結尾。瞭解了「Scancode Map」以後,咱們就能夠來利用添加功能鍵了。好比前面我用的win鍵掃描碼爲:「E0 5B」,Esc爲「00 01」,左邊的Ctrl爲「00 1D」,更詳細的掃描碼請見鍵盤掃描碼。擴展
注意註冊表中二進制值的順序,低8位在前,高8位在後。好比左邊的Ctrl的「00 1D」在註冊表中是:1D 00
三、恢復鍵盤鍵位原來的佈局,只需定位於註冊表
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout],刪除"Scancode Map"鍵值,而後重啓電腦便可。