Multimediatasten mit xmodmap

2008-03-25 14:57

Da meine neue Tastatur auch Multimediatasten für Musikplayer hat, wollte ich diese auch nutzen können.

Nach einiger Suche gelangte ich zu der Erkenntniss, dass xmodmap die Lösung meines Problems sein würde! In einer xmodmap-Datei werden die Dinge gespeichert, die beim Drücken einer Taste gemacht werden. Oder eben welches Zeichen dann erscheinen soll.

Ich habe ganz quick'n'dirty meine Änderungen in die Datei /usr/share/xmodmap/xmodmap.de geschrieben, obwohl es nicht immer empfohlen wird. Viele Autoren von Tutorials empfehlen das Anlegen und verwenden der Datei ~/.Xmodmap für die eigenen Änderungen!

Nur was schreibt man da rein?

Wenn man die Datei /usr/share/xmodmap/xmodmap.de mit einem Texteditor öffnet, dann sollte man den Aufbau als keycode <Nummer> = <Aktion> wiedererkennen. Nur wie bekommt man nun raus, welche Taste welche Nummer hat?

Dazu kann man das Programm xev nutzen. In der Shell gestartet öffnet sich noch ein weiteres Fenster. Drückt man nun eine Taste, sollte Text in der Shell erscheinen und dort sollte u.A. button gefolgt von einer Nummer zu sehen sein. Nun weiss man, welche Nummer der Button hat, diesem muss man nun noch eine Aktion zuordnen. Mögliche Aktionen finden sich in der Datei /usr/share/X11/XKeysymDB, die in dem Fall interessanten sind die Aktionen mit XF86Audio.

Passend zu meinen Multimediatasten fügte ich nun folgendes in meine /usr/share/xmodmap/xmodmap.de ein:

! Multimedia-Tasten

! leiser mute lauter vorigeslied pause naechsteslied

keycode 174 = XF86AudioLowerVolume

keycode 160 = XF86AudioMute

keycode 176 = XF86AudioRaiseVolume

keycode 144 = XF86AudioPrev

keycode 162 = XF86AudioAudioPlay

keycode 153 = XF86AudioNext

Die Ausrufezeichen zu Beginn einer Zeile mach dem X-Server verständlich, dass es sich um Kommentare handelt.

Nach einem Neustart des X-Servers funktionierten die Tasten auch wunderbar. Zumindest in Gnome-Anwendungen. Lauter und leiser funktioniert ohne Beanstandungen, die Steuerung der Lieder will Amarok anscheinend selbst nach Belegung der Globalen Kurzbefehle nicht, dafür klappt es bei Exaile sofort.