最近對(duì)鍵盤的多媒體鍵產(chǎn)生了興趣,研究了一些心得,特此記錄下來(lái)與大家分享。
本文共分為以下四個(gè)部分:
² 多媒體鍵簡(jiǎn)介
² 定制多媒體鍵
² 定制鍵盤任意鍵
² 改造普通鍵盤硬件,增加多媒體鍵
多媒體鍵簡(jiǎn)介
目前最常用的標(biāo)準(zhǔn)鍵盤是104鍵鍵盤,是在IBM定義的101鍵鍵盤標(biāo)準(zhǔn)上增加了兩個(gè)Windows徽標(biāo)鍵和一個(gè)右鍵菜單鍵而成,俗稱Win95鍵盤。此類鍵盤一直沿用IBM標(biāo)準(zhǔn),采用行列矩陣方式布局排列,稱為掃描矩陣,掃描矩陣定義為8行×16列=128鍵。對(duì)于104鍵鍵盤而言,還有24個(gè)閑置鍵位未定義。107鍵鍵盤就是從這些閑置鍵位中選擇了三個(gè)定義為“Power”、“Sleep”和“Wake UP”。后來(lái)微軟又增加了18個(gè)鍵定義,用于完成音量調(diào)整、播放/暫停、打開瀏覽器等功能,相關(guān)文檔參見:http://www.microsoft.com/whdc/archive/w2kbd.mspx。為了方便,本文中我們將這18個(gè)鍵統(tǒng)稱為多媒體鍵,各鍵功能詳見下表:
序號(hào) |
鍵名 |
功能 |
注冊(cè)表分支名稱 |
1 |
Volume UP |
音量提高 |
|
2 |
Volume Down |
音量降低 |
|
3 |
Mute |
靜音 |
|
4 |
Play/Pause |
播放/暫停 |
|
5 |
Stop |
停止 |
|
6 |
Scan Previous Track |
上一曲 |
|
7 |
Scan Next Track |
下一曲 |
|
8 |
WWW Back |
IE瀏覽器后退 |
1 |
9 |
WWW Forward |
IE瀏覽器前進(jìn) |
2 |
10 |
WWW Refresh |
IE瀏覽器刷新 |
3 |
11 |
WWW Stop |
IE瀏覽器停止 |
4 |
12 |
WWW Search |
IE瀏覽器搜索 |
5 |
13 |
WWW Favorites |
IE瀏覽器收藏夾 |
6 |
14 |
WWW Home |
IE瀏覽器首頁(yè) |
7 |
15 |
Mail |
郵件 |
15 |
16 |
Media Select |
媒體選擇(播放器) |
16 |
17 |
My Computer |
我的電腦 |
17 |
18 |
Calculator |
計(jì)算器 |
18 |
微軟、羅技等一些廠家都推出過(guò)各式各樣的帶有多媒體鍵的鍵盤,有音量調(diào)節(jié)、播放、停止、計(jì)算器、復(fù)制、粘貼、備份、還原等多種功能,但有相當(dāng)一部分各類的鍵盤需要另行安裝驅(qū)動(dòng)程序或應(yīng)用程序。本文所討論的多媒體鍵盤,僅指在XP/Vista/Windows7等操作系統(tǒng)下只使用系統(tǒng)自帶的驅(qū)動(dòng)程序和HID Input Service 服務(wù),多媒體鍵即可生效的鍵盤,如微軟精巧500/600、DELL 8135等,這些鍵盤使用的驅(qū)動(dòng)程序名稱為HID Keyboard Device(USB接口鍵盤)或“標(biāo)準(zhǔn) 101/102 鍵盤或microsoft 自然 PS/2 鍵盤”(PS/2接口鍵盤)。
另:按照微軟提供的USB/PS2鍵盤掃描碼對(duì)應(yīng)表,USB鍵盤比PS/2鍵盤要多出一些鍵位定義,如:復(fù)制、粘貼、撤消等。因條件所限沒(méi)有進(jìn)一步研究。
定制多媒體鍵
多媒體鍵雖然有18個(gè)之多,但并不一樣都是用戶想要的功能。比如說(shuō)我可能更需要一鍵打開記事本而不是計(jì)算器;按下“我的電腦”鍵我希望能運(yùn)行的是Total Commander。微軟考慮到了用戶這個(gè)需求,提供了兩種解決方案:一是安裝微軟提供的IntelliType Pro驅(qū)動(dòng)工具,使用常駐內(nèi)存的程序來(lái)控制各個(gè)鍵的定義。二是在注冊(cè)表中提供了部分鍵的自定義功能,允許定制上表中8至18號(hào)鍵位功能。微軟也提供了個(gè)工具TweakUI可以修改這些鍵的定義保存至注冊(cè)表,但修改的內(nèi)容有限。使用第三方驅(qū)動(dòng)還要有常駐內(nèi)存的程序,我個(gè)人不是很感冒。在這里我們?cè)敿?xì)了解一下注冊(cè)表修改這種方法。
例一:修改Calculator計(jì)算器鍵,把它的定義改為打開記事本。只須將如下內(nèi)容保存為notepad.reg,雙擊導(dǎo)入注冊(cè)表即可:
代碼:
Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\18]"ShellExecute"="notepad.exe"
如果要改為打開默認(rèn)的郵件客戶端,可以將上面的"ShellExecute"="calc.exe"一行改為:
代碼:
"Association"="mailto"
或者:代碼:
"RegisteredApp"="mail"
例二:修改My Computer我的電腦鍵,將其改為運(yùn)行Total Commander。需要導(dǎo)入如下注冊(cè)表項(xiàng)目:
代碼:
Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\17]"ShellExecute"=" D:\\Program Files\\TotalCmd\\TOTALCMD.EXE"
(Total Commander實(shí)際路徑需要根據(jù)實(shí)際情況修改)
在以上兩例中:
代碼:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey]
和代碼:
[HKEY_CURRENT_USER \SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey]
這兩個(gè)主鍵下提供了對(duì)多媒體鍵定義功能,兩個(gè)主鍵的區(qū)別是作用范圍是全體用戶還是當(dāng)前用戶。也就是說(shuō)如果多人共用一臺(tái)計(jì)算機(jī),不同的賬戶下同一個(gè)鍵可以設(shè)定不同的功能。
每個(gè)多媒體鍵都有一個(gè)數(shù)字編號(hào)的分支,具體編號(hào)對(duì)應(yīng)情況見上表。
鍵名有ShellExecute、Assocication和RegisteredApp三種類型可選:
ShellExecute 是執(zhí)行一個(gè)外部程序,在鍵值中指定要執(zhí)行的程序名稱即可。
Assocication是指定關(guān)聯(lián),可以將鍵值設(shè)定為一個(gè)擴(kuò)展名如“.rar”,將調(diào)用Winrar程序;也可以指定一個(gè)協(xié)議,http即調(diào)用默認(rèn)的http瀏覽器,mailto則是調(diào)用默認(rèn)的郵件客戶端。
[size=2]RegisteredApp是指定已注冊(cè)的默認(rèn)程序,鍵值可以設(shè)定為mail、news、Calendar、Contacts、Media[font=宋體]等,分別代表默認(rèn)的郵件客戶端、新聞組程序、日歷、聯(lián)系人、媒體播放器等。具體在注冊(cè)表中的位置如下:
代碼:
[HKEY_LOCAL_MACHINE\SOFTWARE\Clients]
定制鍵盤任意鍵
有人可能會(huì)問(wèn):我的鍵盤上只有表中1~7號(hào)多媒體鍵,或者根本就沒(méi)有任何多多媒體鍵,有沒(méi)有辦法將某些鍵定義成打開指定程序或者其它多媒體鍵呢?回答是肯定的,那就是利用微軟提供的掃描碼映射(Scan Code Mapper)功能,詳細(xì)資料參見:
http://www.microsoft.com/whdc/archive/w2kscan-map.mspx。
實(shí)際上這是個(gè)很古老的技術(shù)了,KeyTweak、RemapKey、KeybMap等軟件都是利用了這項(xiàng)技術(shù)通過(guò)修改注冊(cè)表來(lái)完成鍵盤值轉(zhuǎn)義功能。下面我們手動(dòng)操作,將Scroll Lock 鍵改為打開記事本功能:
1、 先將Scroll Lock 鍵映射為Calculator鍵,即打開計(jì)算器。導(dǎo)入如下注冊(cè)表項(xiàng)目:
代碼:
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,21,e0,46,00,00,00,00,00
2、 重啟計(jì)算機(jī),此時(shí)按下Scroll Lock 鍵,可以打開計(jì)算器。
3、 按照前面介紹的方法,再將Calculator鍵的定義修改為打開記事本即可。
修改1~7號(hào)無(wú)法定制功能的多媒體鍵方法也是一樣的。
注意:Power、Sleep、Wake Up 這三個(gè)電源鍵有些特殊,它們也可以映射到其它鍵,但必須先從控制面板-電源選項(xiàng)中將Power和Sleep的功能設(shè)定為“不采取任何操作”。另外在USB鍵盤上,這三個(gè)鍵映射無(wú)效,若是通過(guò)轉(zhuǎn)換口連接到PS/2接口上,則是可以使用的。
為了減化操作,我升級(jí)了KeybMap這個(gè)工具,增加了對(duì)多媒體鍵的自定義功能,可以很方便地實(shí)現(xiàn)以上功能。有興趣的朋友可以下載使用。下載地址:http://innovatechautomation.com/soft/24458.html
改造普通鍵盤硬件,增加多媒體鍵
這時(shí)又有朋友問(wèn)了:我用的是標(biāo)準(zhǔn)104鍵鍵盤,不想修改現(xiàn)有的鍵定義,能不能增加幾個(gè)多媒體鍵?回答仍然是可行的!不過(guò)需要你有一定的DIY能力,能夠熟練的使用電烙鐵等工具。
前面我們提到過(guò)現(xiàn)在通用的鍵盤都是使用了IBM定義的矩陣,一共有8行×16列=128個(gè)鍵位,空閑了24個(gè)鍵位。而電源鍵和多媒體鍵都是利用了這些空閑鍵位。由此想來(lái)現(xiàn)在常用的鍵盤控制器芯片一定可以完整處理這128個(gè)鍵,廠家沒(méi)有必要為普通104鍵鍵盤和多媒體鍵盤開發(fā)不同的鍵盤控制器芯片,更沒(méi)有必要在普通104鍵鍵盤上屏蔽那多余的24個(gè)鍵位處理能力;谝陨侠碛,我們推測(cè)市場(chǎng)上最常見的104鍵鍵盤能夠支持多媒體鍵,只是沒(méi)有做出相應(yīng)的鍵位而已。
下面就來(lái)驗(yàn)證一下我們的推測(cè):拆開一塊普通的104鍵鍵盤,找到線路板,可以看到上面有與鍵盤薄膜電路相連的金手指觸點(diǎn),這些觸點(diǎn)通過(guò)鍵盤薄膜電路兩兩組合,從而得到了不同的按鍵。因?yàn)檫@一部分電路沒(méi)有統(tǒng)一的標(biāo)準(zhǔn),我只能用窮舉法來(lái)一個(gè)個(gè)測(cè)試:找一根導(dǎo)線按順序短接不同的觸點(diǎn)。經(jīng)過(guò)一段時(shí)間的測(cè)試,我果然找到了靜音、音量增大、音量減小、計(jì)算器、我的電腦等熱鍵;不幸的是在測(cè)試的過(guò)程中我也找到了電源鍵,于是系統(tǒng)就自動(dòng)地關(guān)機(jī)了……不管怎么說(shuō),試驗(yàn)是成功了。
我先后在IBM、聯(lián)想、浪潮、清華同方等四塊不同品牌計(jì)算機(jī)的鍵盤上做過(guò)以上試驗(yàn),不管是PS/2接口還是USB接口的鍵盤,都是成功的。
下面要做的就是去電子市場(chǎng)買一些輕觸開關(guān),想辦法固定在鍵盤的空閑的地方,找到所需的鍵位組合,用導(dǎo)線焊好就可以了。當(dāng)然,要想做得美觀,需要你有較強(qiáng)的動(dòng)手能力。
也許費(fèi)了這么大功夫,改造一塊不到一百元的鍵盤純屬浪費(fèi)精力,但是對(duì)我們DIY愛(ài)好者來(lái)說(shuō),結(jié)果并不是目的,探索的過(guò)程中才是我們最大的樂(lè)趣。我們口號(hào)是:生命在于折騰……