o IT

Klávesnice Dell SK-8135 a multimediální tlačítka

V práci mám klávesnici Dell Enhance USB Keyboard SK-8135. Jak vypadá je vidět zde: http://www.flickr.com/photos/61927829@N00/862200777/ . Protože jsem si k ní nainstaloval jenom drivery, a ne ovládací aplikaci, tak nemám žádnou utilitku kterou bych mohl měnit standartní nastavení multimediální tlačítek. Proto jsem vyzjistil následující možnost jak měnit toto nastavení přímo. Třeba se to někomu bude hodit :)

Multimediální tlačítka mají přiřazený určitý APP_KEY který je po stlačení tlačítka předán systému. Akce k jednotlivým app_key jsou uloženy v registrech v klíči  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey. Pokud si otevřete v editoru registrů výše uvedený klíč můžete měnit akce, které jsou přiřazené jednotlivým tlačítkům. Každé multimediální tlačítko používá jiný Appkey, jejich detailní seznam je k dispozici ve Windows SDK dokumentaci, pro mojí klávesnici jsem je zde vypsal:

Jednotlivé hotnoty přidělené App_key můžou být:

Speciálně pro tuto klávesnici jsou standartně fuknční (správně nastavená) všechna tlačítka až na 16 (Media). Můj cíl aby Media tlačítko spustilo Winamp jsem splnil přídáním

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\16]
"ShellExecute"="C:\\Program Files\\Winamp\\winamp.exe"

Tlačítka Stop, Previous, Next, Play/Pause už ovládá přímo Winamp přes rozšíření Global Hotkeys. Winamp options - Global Hotkeys - Enable default multimedia key support (funkční ve Winampu 5.5) Nicméně je možné nastavit jejich ovládání také přímo v registrech, popřípadě jim přiřadit úplně jiné akce. Jejich App_Key hodnoty jsou zde:

Více informací v angličtině je k dispozici zde: http://ashish.vashisht.net/2008/01/configuring-keyboard-multimedia-keys.html

PS: Abych se trochu pochválil musím říct že výše uvedený odkaz jsem vygooglil až po napsání tohoto článku, což je na jednu stranu dobré, protože jsem na řešení příšel sám, na druhou stranu naprd, protože ztrácím čas něčím co už někdo dávno vymyslel. A navíc neumím správně googlit :D