claim.gif
Linux Magazin Linux User Easy Linux Ubuntu User International Linux Community
Erschienen in EasyLinux 09/2005   »   Ausgabe bestellen

Drei Programme, mit denen Sie Sondertasten zum Leben erwecken

Sonderbare Tasten

von Marcel Hilzinger


Immer mehr Hersteller produzieren heute Tastaturen mit Sondertasten. Die wenigsten unter ihnen liefern allerdings auch Linux-Treiber dazu. Zum Glück funktionieren die Sondertasten auch ohne spezielle Treiber -- wie dieser Artikel zeigt.

Endlich haben Sie Ihre neue Multimedia-Tastatur ausgepackt und an den USB-Port angeschlossen. Siehe da -- Linux erkennt die Tastatur ohne jegliche manuelle Eingriffe. Doch neben der Freude am neuen Keyboard macht sich auch Ärger breit: Warum funktionieren bloß die Sondertasten nicht?

Die meisten neuen Tastaturen bringen Sondertasten mit, die auch unter Linux problemlos funktionieren. Allerdings weiß die grafische Oberfläche zunächst nicht, wie sie die zusätzlichen Tasten behandeln soll, und ignoriert diese schlicht. Dieser Workshop zeigt Ihnen, wie Sie das System über xev und xmodmap mit den Sondertasten bekannt machen und einzelnen Tasten mit khotkeys spezielle Befehle zuordnen.

Tasten finden mit Xev

Drücken Sie auf Ihrer Tastatur das [Ä], sendet diese dem System eine Nummer, den so genannten Keycode. Aus dieser Nummer und den Spracheinstellungen leitet das System ab, welches Zeichen Sie schreiben möchten. Besondere Tastaturtabellen (keymaps) liefern dazu die Information, zu welchem Tastaturtyp bei welcher Sprache welches Zeichen gehört. Sie finden diese Keymap-Dateien im Verzeichnis /usr/share/kbd/keymaps/i386 (für Suse Linux) respektive /usr/lib/kbd/keymaps/i386 (Mandrake Linux ). Weisen Sie das System an, eine andere Tastaturtabelle zu benutzen, schreiben Sie zum Beispiel auf einer deutschen Tastatur auch kyrillische oder arabische Buchstaben. Die meisten Tastaturtabellen berücksichtigen allerdings nur reguläre Tasten, keine Sondertasten.

Um dem System eine Sondertaste bekannt zu machen, müssen Sie zuerst deren Keycode ermitteln. Dazu eignet sich das Programm xev. Unter Suse Linux gehört es zur Standardinstallation, bei Mandrake Linux installieren Sie xev über das Paket X11R6-contrib nach.

Drücken Sie in Xev eine beliebige Taste, zeigt das Programm diverse Informationen zu dieser an, darunter auch den gesuchten Keycode (Abbildung 1). Damit Sie diese Informationen sehen, müssen Sie das Programm aus einem Terminal-Fenster starten:

  1. Öffnen Sie mit [Alt-F2] und die Eingabe von konsole ein Terminal-Fenster.
  1. Geben Sie den Befehl xev ein und drücken Sie die Eingabetaste. Auf dem Bildschirm sehen Sie nun das leere Xev-Fenster (Abbildung 2).
  1. Drücken Sie eine Sondertaste und verfolgen Sie die Ausgaben im Terminal-Fenster. Notieren Sie sich die Taste und die Zahl hinter dem Eintrag keycode.
  1. Drücken Sie die nacheinander sämtliche Sondertasten und schreiben Sie die dazugehörigen Codes auf. Sendet die Taste beim Drücken (KeyPress event) und beim Loslassen (KeyRelease event) unterschiedliche Codes, merken Sie sich den Code für das Drücken.
  1. Beenden Sie Xev über [Alt-F4] oder schließen Sie das Fenster mit der Maus.

Abb. 1: Drücken Sie in "xev" eine Taste, zeigt das Programm in der Konsole ihren Keycode an (rot umrahmt). Das Programm unterscheidet dabei zwischen Drücken (KeyPress event) und Loslassen (KeyRelease event).

Abb. 2: Das Programmfenster von Xev zeigt nur ein schwarzes Quadrat auf weißer Fläche an. Die Informationen erscheinen im Terminal-Fenster (Abbildung 1).

Tasten definieren mit Xmodmap

Haben Sie Ihre Tabelle mit den Tasten und den zugehörigen Keycodes erstellt, machen Sie diese dem System bekannt. Dabei existieren Unterschiede zwischen der grafischen Oberfläche und dem Konsolenmodus. Die grafische Oberfläche und KDE werten nicht die anfangs erwähnten Tastaturtabellen aus, sondern benutzen ein aufwendiges System aus Symboltabellen und Zuordnungsregeln. Die entsprechenden Dateien finden Sie unter /usr/lib/X11/xkb/.

Die saubere Lösung wäre nun, für die Tastatur neue Tabellen und Regeln anzulegen und diese den Entwicklern der grafischen Oberfläche zu mailen. So könnten in Zukunft auch andere Benutzer von den Vorteilen der Sondertasten profitieren. Die dazu nötigen Schritte setzen allerdings einiges an Linux-Know-how voraus. Es existiert deshalb mit dem Befehl xmodmap auch ein einfacher Weg: Das Programm modifiziert die jeweils aktuelle Keymap -- unabhängig davon, welches Layout Sie gerade benutzen. Dazu benutzt es die Konfigurationsdatei .Xmodmap in Ihrem Home-Verzeichnis.

Nach der Standardinstallation existiert diese Datei allerdings noch nicht. Gehen Sie deshalb folgendermaßen vor:

  1. Starten Sie den Editor Kate über [Alt-F2] und die Eingabe von kate.
  1. Schreiben Sie in die erste Zeile zwei Ausrufezeichen und den Namen der Tastatur, zum Beispiel !! Tolle Tastatur. Dies ist lediglich ein Kommentar für Sie selbst, das Programm ignoriert Zeilen, die mit Ausrufezeichen beginnen.
  1. Schreiben Sie für jede Sondertaste einen neuen Eintrag. Jede Zeile muss mit keycode beginnen, gefolgt vom Code der Taste. Nach einem Gleichheitszeichen steht dann der Name der Taste, zum Beispiel keycode 153 = XF86AudioNext.
  1. Speichern Sie nun die Datei unter dem Namen .Xmodmap in Ihrem persönlichen Verzeichnis. Achten Sie dabei auf den Punkt vor dem Dateinamen und das großgeschriebene X.
  1. Um die Änderungen wirksam zu machen, starten Sie über [Alt-F2] und die Eingabe von konsole das KDE-Terminal. Hier geben Sie folgenden Befehl ein:
    xmodmap .Xmodmap

Den Tastennamen (Schritt 3) können Sie nicht beliebig festlegen, da dieser dem System bekannt sein muss. Welche Tastennamen Ihr System kennt, hängt von der benutzen Distribution ab. Eine Auswahlliste finden Sie in der Datei /usr/X11R6/lib/X11/XKeysymDB. Wählen Sie hier am Ende der Datei einen Eintrag aus, der mit XF86 beginnt. Die Namen und Keycodes einiger Standardsondertasten listet auch die Tabelle "Keycodes und Namen" auf.

Keycodes und Namen
KeycodeNameBeispiel
122XF86ExplorerStartet den Dateimanager
129XF86AudioMediaStartet den Mediaplayer
130XF86HomePageSpringt im Dateimanager zum Home-Verzeichnis
144XF86AudioPrevSpringt zum vorherigen Titel
153XF86AudioNextSpringt zum nächsten Titel
160XF86AudioMuteSchaltet die Lautsprecher stumm
162XF86AudioPlayStartet die Wiedergabe
164XF86AudioStopStoppt die Wiedergabe
174XF86AudioLowerVolumeLautstärkeregler aufdrehen
176XF86AudioRaiseVolumeLautstärkeregler herunterdrehen
236XF86MailStartet das Mailprogramm

Programme starten mit KHotKeys

Den Lohn der Arbeit mit Xev und Xmodmap erntet nun KHotKeys: Über das KDE-Programm ordnen Sie Tasten oder Tastenkombinationen Befehle zu. Um zum Beispiel über die Taste XF86AudioMedia das Programm Kaffeine zu starten, gehen Sie folgendermaßen vor:

  1. Starten Sie KHotKeys über [Alt-F2] und die Eingabe von kcmshell khotkeys.
  1. Klicken Sie auf Neue Aktion und wählen Sie unter Aktionstyp den Eintrag Tastenkürzel -> Befehl/Adresse einfach aus.
  1. Geben Sie der Aktion unter Aktionsname einen sinnvollen Namen, zum Beispiel Kaffeine starten.
  1. Wechseln Sie auf den Reiter Tastenkürzel und klicken Sie auf die Schaltfläche Keine. Sie sehen nun das Fenster Kurzbefehl festlegen (Abbildung 3).
  1. Drücken Sie die Sondertaste und wählen Sie OK.
  1. Wechseln Sie auf den Reiter Befehl/Adresse-Einstellungen und geben Sie unter Aufzurufende(r) Befehl/Adresse den Befehl kaffeine ein.

Auf die gleiche Art legen Sie auch Befehle für die anderen Tasten fest. Möchten Sie zum Beispiel über die Taste XF86HomePage die EasyLinux-Homepage öffnen, geben Sie als Befehl einfach www.easylinux.de ein.

Abb. 3: Im Fenster "Kurzbefehl festlegen" drücken Sie einfach die gewünschte Sondertaste und klicken auf "OK".

Mixereinstellungen ändern

Theoretisch können Sie über KHotKeys auch die Lautstärke regeln. Es ist jedoch einfacher, dies im KDE-Mischpult kmix zu tun. Läuft KMix bereits, sehen Sie im Systemabschnitt des KDE-Panels ein Lautsprechersymbol. Klicken Sie mit der rechten Maustaste auf das Minibild und wählen Sie Fenster des Lautstärkereglers anzeigen. Sehen Sie in der Kontrollleiste kein entsprechendes Symbol, starten Sie KMix über [Alt-F2] und die Eingabe von kmix.

Klicken Sie nun mit der rechten Maustaste auf den Regler Master und wählen Sie Kurzbefehle festlegen. KMix öffnet ein neues Fenster mit den Einträgen Lautstärke erhöhen, Lautstärke verringern und Stummschalten ein/aus. Markieren Sie den gewünschten Eintrag und klicken Sie anschließend auf Keine, um die Sondertaste zu verknüpfen. Sie können dabei auch Tasten kombinieren, zum Beispiel Strg-Alt-XF86AudioRaiseVolume. Analog zu KMix bietet fast jedes KDE-Programm unter Einstellungen / Kurzbefehle festlegen die Möglichkeit, Sondertasten zu nutzen.

Vorgänge automatisieren

Die Lösung über die Datei .Xmodmap hat einen Haken: Sobald Sie den Computer ausschalten, vergisst das Programm die Einstellungen. Sie müssen also nach jedem Anmeldevorgang den Befehl xmodmap ~/.Xmodmap ausführen (die Tilde "~" steht für Ihr Home-Verzeichnis). Doch auch dieses Problem lösen Sie mit den Bordmitteln von KDE: Werfen Sie einen Blick auf den Ordner .kde in Ihrem persönlichen Verzeichnis, finden Sie darin den Unterordner Autostart. Dateien in diesem Verzeichnis öffnet KDE beim Start automatisch. Handelt es sich dabei um ein Skript, führt KDE dieses aus.

Sie müssen also lediglich ein Skript sondertasten.sh im Verzeichnis ~/.kde/Autostart ablegen, damit KDE den Xmodmap-Befehl für Sie ausführt:

  1. Starten Sie den Editor Kate über [Alt-F2] und die Eingabe von kate.
  1. Tippen Sie die drei Zeilen aus dem Kasten "Autostart-Skript" ab.
  1. Speichern Sie das Skript unter dem Namen sondertasten.sh im Verzeichnis .kde/Autostart. Geben Sie dazu unter Adresse zunächst .kde ein, dann drücken Sie die Eingabetaste. Wählen Sie anschließend das Verzeichnis Autostart aus und geben Sie unter Adresse den richtigen Dateinamen ein.
  1. Jetzt müssen Sie das Skript noch ausführbar machen. Wählen Sie dazu Datei / Speichern unter und klicken Sie mit der rechten Maustaste auf das neue Skript. Über den Punkt Eigenschaften öffnen Sie einen neuen Dialog. Wechseln Sie hier auf den Reiter Berechtigungen und markieren Sie die Option Ausführbar.

Nach einem Klick auf OK ist das Skript fertig, und Sie können den Editor beenden. Starten Sie nun KDE neu, sind sämtliche Sondertasten einsatzbereit.(mhi)

Autostart-Skript

#!/bin/bash
# Das Skript sondertasten.sh
xmodmap ~/.Xmodmap

Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links" nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedruckten Fassung entsprechen.

Druckerfreundliche Version | Feedback zu dieser Seite | Datenschutz | © 2021 COMPUTEC MEDIA GmbH | Last modified: 2007-04-05 11:10

[Linux-Magazin] [LinuxUser] [Linux-Community]