在Windows XP/Windows 2000 系統(tǒng)中,提供了一種新的鍵盤掃描碼映射方法,使你能隨意地設(shè)置鍵盤鍵位的布局,這就是注冊表中的 “Scancode Map”我們巧妙利用“Scancode Map”就可將普通鍵盤改造成隨心隨意的個(gè)性化鍵盤。
為了正確設(shè)置,我們有必要先了解一下“Scancode Map”(掃描碼映射)。
“Scancode Map”是注冊表中[HKEY_LOCAL_MacHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]中的一個(gè)二進(jìn)制鍵值(默認(rèn)沒有,需新建),并且有固定的格式。
Scancode Map 代碼的一般格式是:“hex:00,00,00,00,00,00,00,00,|02|,00,00,00,|映射之后的掃描碼(XX XX),原掃描碼(XX XX)|00,00,00,00”。
其含義為:
前8個(gè)00(DWord兩個(gè)0)是版本號和頭部字節(jié),接下來的“02”表示映射數(shù),其最小為值為“02”,表示只映射一組(這里的數(shù)值是映射數(shù)目加上末尾用作結(jié)尾的“00,00,00,00”,因此總是比實(shí)際的映射數(shù)目大一),若要映射多組,只需增加相應(yīng)的值即可,如映射2組其值應(yīng)為“03”,3組為“04”。
后邊代碼每4個(gè)是一組:前兩個(gè)是映射后鍵位的掃描碼,后兩個(gè)是鍵位原掃描碼。如果要交換兩個(gè)鍵,則一個(gè)有兩組映射,四個(gè)值的排列形式是:鍵A,鍵B,鍵B,鍵A——它表示:鍵A成為鍵B,鍵B成為鍵A。
最后以“00,00,00,00” 結(jié)尾。
注意:在注冊表中輸入時(shí),需要將掃描碼的高低字節(jié)交換一下。
另外,如果想要某個(gè)鍵失效,將它的掃描碼映射為“00 00”即可。
若要恢復(fù)鍵盤鍵位原來的布局,只需定位于注冊表[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout],刪除"Scancode Map"鍵值
特別說明:
1. 在目前的Windows版本下面,對鍵盤映射是全局的,而不是針對某個(gè)用戶的,如果您修改添加或者刪除了某個(gè)映射,那么不管哪個(gè)用戶使用,鍵盤都發(fā)生了變化;
另外,如果一臺電腦有多個(gè)鍵盤,那這些鍵盤都會產(chǎn)生同樣的變化。
2. 在XP上不能屏閉POWER SLEEP WAKE UP 這三個(gè)鍵。(沒有親自測試,筆記本上沒有這三個(gè)鍵,如果真不行就扣掉吧 ------ 開玩笑,在臺式機(jī)上這三個(gè)鍵通過bios設(shè)置應(yīng)該可以把相應(yīng)功能禁用掉)
3. thinkpad 上的“Fn”鍵是不能被映射的,因?yàn)樗荒鼙籓S識別,所以不能使用上面的方式進(jìn)行設(shè)置。thinkpad新版的bios里面提供了一個(gè)功能,讓左側(cè)的“Fn”鍵和相鄰的“Ctrl”鍵進(jìn)行功能互換,感覺用處不是很大,有需要的朋友可以去試試看。(如果在筆記本的 bios上找不到這個(gè)功能的話,需要刷新版bios,操作很簡單,不要恐懼)
導(dǎo)入或設(shè)置或修改或刪除注冊表鍵值后,重啟你的電腦,改變就生效了。
也可以用將下面的文本存成“scancode.reg”,雙擊導(dǎo)入注冊表。鍵值可通過查上面提到的鍵位表查詢,找到你要替換的 Scan Code碼,把##,##替換掉就可以了。
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,##,##,##,##,00,00,00,00
了解了“Scancode Map”之后,我們就可以來利用添加功能鍵了。比如WIN鍵掃描碼為:“E0 5B”,Esc為“00 01”,左邊的Ctrl為“00 1D”,更詳細(xì)的掃描碼請見鍵盤掃描碼。
比如:前面提到的IBM ThinkPad鍵盤,為了把那個(gè)瀏覽器網(wǎng)頁前后瀏覽的鍵禁止,可以設(shè)置為:
再次說明:所有對注冊表的修改,必須在重新啟動(dòng)電腦后,才能生效。"Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,00,00,6A,E0,00,00,69,E0,00,00,00,00
比如:說我們想把F9,F(xiàn)10鍵修改成為音量調(diào)整鍵,通過查表,可以得知:
F9、F10掃描碼分別為(00,43)、(00,44),
Volume Up、Volume Down的掃描碼分別為(E0,30)、(E0,2E),
這樣只要將Scancode設(shè)置為如下就可以了: "Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,30,E0,43,00,2E,E0,44,00,00,00,00,00
( 含義為: | 版本號和頭部字節(jié) | 兩組映射 | 第一組 | 第二組 | 結(jié)尾終止 | )
我是把“后退”和“前進(jìn)”兩個(gè)按鍵映射為“上翻頁”和“下翻頁”,注冊表文件如下:
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,49,e0,6a,e0,51,e0,69,e0,00,00,00,00
聯(lián)系客服