|
|
Letzte Änderung dieses Dokuments: 06.04.2008, 11:36:51. Multimedia-Tastaturen unter Linux/X11
1. Inhalt
2. Einführung
2.1. Motivation
2.2. Zielsetzung
2.3. Feedback
3. Verwendung der Tasten unter X11
3.1. Voraussetzungen
3.2. Verschiedene Ansätze
3.3. Anwendungsspezifische Tasten
3.4. Globale Tastendefinitionen
3.5. Zur VMware...
3.6. Lautstärkeregelung und OnScreenDisplay
3.7. Anwendungsbeispiel: Cherry Cyboard Plus
4. Verwendung der Tasten im Textmodus
5. Weiterführende Informationen:
Immer häufiger sind im Bereich der PC-Architektur Tastaturen anzutreffen,
die über mehr als die "üblichen" 104/105 Tasten verfügen.
Diese sogenannten "Multimedia-Tastaturen" haben in der Regel spezielle
Sondertasten, die z.B. dazu dienen, das E-Mail-Programm zu öffnen oder die
Lautstärke zu regeln.
Bekannte Beispiele solcher Tastaturen sind das Microsoft Internet
Keyboard oder das Logitech iTouch Keyboard.
Für den Linuxanwender stellt sich hier die Frage, wie er die zusätzlichen
Funktionstasten nutzen kann, wenn doch die mit den Tastaturen ausgelieferte
Spezialsoftware natürlich mal wieder nur unter Windows läuft.
Ausserdem taucht diese Frage mit schöner Regelmäßigkeit immer wieder in der
de.comp.os.unix.linux.*-Hierarchie auf, weil es dem Fragenden
offenbar zu mühsam ist, die entsprechenden Postings vom letzten Mal
per Google zu suchen.
Um mir beim Antworten auf solche Fragen Zeit und Mühe zu sparen,
habe ich alles auf meiner Webseite zusammengestellt.
Dieser Text soll eine kurze Übersicht über die Möglichkeiten geben,
die dem Linux-Anwender zur Verfügung stehen, wenn er solche Tasten
benutzen möchte.
Der Schwerpunkt liegt dabei auf der Verwendung unter dem X-Window-System,
jedoch wird auch auf die Textkonsole eingegangen.
Da die Möglichkeiten sehr zahlreich sind und es eine Reihe von
Software-Projekten gibt, die sich mit der Unterstützung dieser Tasten befassen,
kann natürlich nicht im Einzelnen auf jedes Details jeder Spezialsoftware
eingegangen werden. Vielmehr geht es um den groben Überblick. Es soll dem
Anwender die Auswahl erleichtert werden.
Wie man dann konkret eine bestimmte Software einsetzt, ist auf der
jeweiligen Webseite meist sehr ausführlich beschrieben.
Selbstverständlich freue ich mich über Rückmeldungen. Jeder, der eine
Anmerkung oder Anregung oder gar einen Fehler in diesem Text gefunden hat,
kann sich gerne mit mir in Verbindung setzen.
Ich möchte aber darauf hinweisen, dass ich nicht der Autor der hier
genannten Programme bin. Sollten Sie einen Verbessungsvorschlag zu einem
dieser Programme haben oder ähnliches, sollten Sie sich lieber mit dem
Autor des betreffenden Programms in Verbindung setzen.
Als Faustregel könnte man sagen: Für alles, was einem Besitzer einer
Multimedia-Tastatur dabei helfen könnte, einen Überblick über die
Möglichkeiten der Nutzung sowie deren Vorteile und Beschränkungen zu bekommen,
wenden Sie sich an mich. Für alles, was konkret eine einzelne Software betrifft
bzw. nicht direkt den Vergleich betrifft, wenden Sie sich an den Autor.
Die einzige wirkliche Voraussetzungen, die sich direkt an die betreffende
Tastatur richtet, lautet: Die betreffenden Sondertasten müssen normale
X-Events erzeugen.
Genauer: Die Tastatur muss Scancodes liefern und der Kernel daraus
Keycodes machen, die X11 dann in X-Events umsetzt. Im letzten Abschnitt
dieses Dokuments finden Sie weiterführende Information zu diesem Thema.
Sie können prüfen, ob dies zutrifft, indem Sie das Programm xev in
einem Terminalfenster starten und die betreffenden Sondertasten drücken.
Es müssen dabei im Terminalfenster entsprechende KeyPress- und
KeyRelease-Events auftauchen.
Das sollte dann so aussehen:
KeyPress event, serial 27, synthetic NO, window 0x3800001,
root 0xad, subw 0x0, time 4461014, (268,-713), root:(1117,258),
state 0x10, keycode 234 (keysym 0x1008ff26, XF86Back), same_screen YES,
XLookupString gives 0 characters: ""
KeyRelease event, serial 27, synthetic NO, window 0x3800001,
root 0xad, subw 0x0, time 4461085, (268,-713), root:(1117,258),
state 0x10, keycode 234 (keysym 0x1008ff26, XF86Back), same_screen YES,
XLookupString gives 0 characters: ""
Wenn kein Keysym (hier: "XF86Back") angezeigt wird, ist das nicht weiter
tragisch, da wir das später ändern können. Wichtig ist, dass überhaupt
etwas passiert.
Tatsächlich ist mir keine Multimedia-Tastatur bekannt, bei der dies
nicht der Fall ist, aber dennoch erwähne ich diese Voraussetzung mal lieber,
denn bei manchen Laptops, die mit ähnlichen Tasten bestückt sind, kann
dies auch anders sein.
Es gibt zwei grundsätzliche Ansätze, wie man eine Sondertaste unter X11
nutzen kann. Man kann nicht beide Ansätze für eine Taste verwenden,
aber durchaus für verschiedene Tasten verschiedene Ansätze wählen.
Die erste Möglichkeit besteht darin, den Tasten via xmodmap einen
symbolischen Namen zuzuweisen und ihre Auswertung dann der jeweiligen Anwendung
zu überlassen. Ein Beispiel hierfür wäre eine Play-Taste, die je nach
gerade laufender Anwendung xmms, mplayer, xine oder was auch immer zur
Wiedergabe veranlasst.
Die zweite Möglichkeit ist, einen Dienst (ein im Hintergrund laufendes
Programm) zu starten, das die Events der Tasten abfängt und immer die gleiche
Funktion ausführt. Ein Beispiel für diese Methode wäre die Lautstärkeregelung
über entsprechende Tasten, die unabhängig von der Anwendung erfolgt, die
jeweils gerade den Fokus hat.
Falls die Sondertasten keinen symbolischen Namen liefern, kann man das
am Schnellsten mit xmodmap beheben. Neuere XFree86-Versionen haben eine
Reihe von vordefinierten Keysyms, die man für solche Multimediatasten
benutzen kann. Eine Übersicht findet sich in der Datei
/usr/X11R6/lib/X11/xkb/symbols/inet.
Das geht ganz einfach: Man nimmt den Keycode, den xev anzeigt
(dritte Zeile) und trägt ihn passend in die ~/.Xmodmap ein.
Hier mal beispielhaft für drei meiner Tasten:
keycode 234 = XF86Back
keycode 236 = XF86Mail
keycode 223 = XF86Standby
Einmal eingetragen, können die Definitionen mit dem Befehl:
bash$ xmodmap ~/.Xmodmap
geladen werden. Danach sollte xev den Keysym mit anzeigen (siehe obiges
Beispiel).
Wer keine vordefinierten Keysyms der Form XF86Hastenetgesehen
verwenden möchte oder kann, kann auch ersatzweise ungenutzte F-Tasten verwenden.
Die Tasten F13-F20 bieten sich hier an, da sie auf keiner normalen PC-Tastatur
vorhanden sind.
Sind die Tasten einmal mit Keysyms versehen, kann man sie in den entsprechenden
Anwendung nutzen. Natürlich müssen diese das auch unterstützen. Im Folgenden eine
Reihe von Beispielen:
| Anwendung | Konfiguration |
| XMMS |
Das X Multimedia System
kann in der Datei ~/.xmms/menurc entsprechend konfiguriert
werden.
|
| MPlayer |
Der MPlayer erlaubt
die Tastendefinitionen über die Datei ~/.mplayer/input.conf.
|
| Xine |
Xine kann man in der
~/.xine/keymap entsprechend einstellen.
|
| Konqueror |
Die Webnavigationstasten kann man im
Konqueror über das Menü
Einstellungen | Kurzbefehle festlegen... zuweisen.
|
Damit man bestimmte Tasten, beispielsweise zur Lautstärkeregelung, global
nutzen kann, benötigt man ein Programm, dass diese Tasten auswertet.
Solche Programme gibt es zuhauf, hier eine kleine Auswahl. Ich habe
kurz die Eigenschaften, Besonderheiten, Vor- und Nachteile ausgeführt,
möchte jedoch darauf hinweisen, dass ich diese Projekte auch nicht laufend
überwache und meine Angaben daher veraltet sein könnten. Zudem handelt
es sich dabei um meine persönlichen Eindrücke. Wer aber meint, dass
ich eines der Projekte falsch oder ungerecht bewerte oder interessante
Informationen hat, ist herzlich eingeladen, mich zu korrigieren.
| Programm | Pro | Kontra |
| xbindkeys |
Unauffällig; zuverlässig; schnell; leicht zu konfigurieren, da grafisches Frontend;
funktioniert mit VMware.
|
kein integriertes OnScreenDisplay (OSD).
|
| Hotkeys |
Zuverlässig und schnell.
|
kein grafisches Konfigurationsfrontend, kein OSD, eingeschränkte Flexibilität,
muss nach VMware neu gestartet.
|
| LinEAK |
Einfache Konfiguration dank bebilderter Vorlagen, Frontend.
|
kein OSD, Frontend benötigt KDE.
|
| JeruKey |
Frontend, integriertes OSD, Mehrfachbelegung von Tasten möglich.
|
Plugin für die Audiolautstärke verträgt sich nicht mit dem ESD, Programm
stürzt öfters mal ab, muss nach VMware neu gestartet werden, Projekt
scheinbar eingeschlafen.
|
| ACME |
nicht getestet, daher keine Bewertung
|
nicht getestet, daher keine Bewertug. Scheint aber GNOME zu benötigen.
|
| TPB |
Speziell für die Knöpfe eines IBM Thinkpads, mangels entsprechendem Notebook
nie selbst getestet
|
nicht getestet
|
| BBkeys |
Speziell für den Window-Manager Blackbox
entwickelt, läuft aber unabhängig auch unter anderen WMs.
|
ungetestet
|
| FunKey |
Eines der ältesten Pojekte, stellt ein spezielles /dev/funkey Device
zur Verfügung.
|
kein Frontend, erfordert Kernelpatch, scheinbar eingeschlafen
|
| XMMS iTouch Plugin |
Spezielles Plugin für XMMS
zur Lautstärkeregelung.
|
erfordert XMMS, funktioniert nur dort
|
| KHotKeys |
Bestandteil von KDE3 und neuer, KDE- und DCOP-Integration, Frontend (Kontrollzentrum)
|
erfordert KDE, kein OSD
|
Das Programm VMware stellt einen
virtuellen PC zu Verfügung. Damit man sein Windows oder welches Betriebssystem
auch immer man dort installiert auch wie gewohnt nutzen kann, muss die VMware
die Tastatur vollständig in Beschlag nehmen (grabben) und alles an das
Gast-Betriebssystem weiterleiten. Das Verlassen dieses speziellen Modus geht
nur über die Tastenkombination STRG+ALT. Gibt VMware danach
die Tastatur wieder frei, funktionieren bei manchen Programmen auf einmal die
Sondertasten nicht mehr; man muss die jeweiligen Programme erst neu starten.
Welche Programme dies sind, habe ich, soweit es mit bekannt war, in der
obigen Tabelle vermerkt.
Zur Regelung der Lautstärke greifen die oben genannten Programme entweder
selbst auf den Mixer zu oder sie erlauben nur die Ausführung eines Kommandos,
dann kann man mithilfe von aumix oder
amixer an den Reglern drehen. Letzteres ist in der Regel flexibler, da
man Schrittweite und Mixerkanal beliebig wählen kann, während ersteres dafür
meistens für die integerierten OnScreenDisplays (OSDs) - sofern vorhanden -
benötigt wird.
Wenn eine Software kein OSD anbietet, dann kann man sich mit dem
osdsh behelfen. Es benutzt
die xosd-Library
und überwacht selbständig den Mixer auf Änderungen, die es dann mit
entsprechenden Balken anzeigt.
Die Vorteile sind: Das Programm überwacht alle Mixerkanäle, nicht nur den
Master-Kanal. Zudem ist das Aussehen des OSD flexibler konfigierbar.
Ich selbst regle die Lautstärke mit aumix und nehme den osdsh für das OSD.
Das von mir verwendete Theme dafür (erfordert TrueType-Fonts) können Sie
in der nachfolgenden Sektion herunterladen.
Ich verwende bei mir gegenwärtig ein
Cherry Cyboard Plus (M83-13900):
Die Lautstärkeregelung erledigt xbindkeys per aumix, für das OSD benutze
ich osdsh.
In der ~/.Xmodmap habe ich bei mir die CAPS-Lock-Taste abgestellt
und zu einem zusätzlichen Modifier gemacht. Ich persönliche habe diese Taste
nie gebraucht, bin aber immer aus Versehen draufgekommen. Daher habe ich sie
mit clear Lock abgeschaltet. Ein keycode 66 = Hyper_L und
add Mod4 = Hyper_L macht sie zu einem zusätzlichen Modifier. Dann
macht es immer noch nichts, wenn man mal versehentlich darauf drückt, aber ich
kann sie als "Schnellstarttaste" missbrauchen. Häufig benötigte Programme
kann ich über CAPS+F1 bis CAPS+F12 starten.
Diese Tastenkombinationen werden nämlich garantiert nicht von anderen
Programmen benutzt!
Theoretisch könnte man dafür auch die Windows-Taste
nehmen, die ja unter Linux auch weitestgehend brach liegt. Doch hier ist
mir persönlich die Verwechslungsgefahr zu hoch. Ein Fehlgriff und man hat
statt WIN+F4 auf einmal ALT+F4 gedrückt.
Aber das alles ist Geschmackssache, wer das nicht will, braucht es nicht zu
übernehmen.
Hier eine Zusammenfassung der wichtsten Funktionen meiner Tastenbelegung.
| Taste(n) | Funktion |
| Lautstärke | Regelt die Lautstärke auf dem Master-Kanal |
| CTRL+Lautstärke | Regelt die Lautstärke auf dem Line-In-Kanal |
| ALT+Lautstärke | Regelt die Lautstärke auf dem Mikrophon-Kanal |
| Mute | Ton an/aus |
| Shift+Mute | Stellt die Standardeinstellungen des Mixers wieder
her (alsactl restore). |
| CAPS+F1 | Startet KNode |
| CAPS+F2 | Startet GAIM |
| CAPS+F3 | Startet Eterm |
| CAPS+F5 | Öffnet einen Dialog zur Auswahl verschiedene Browser |
| CAPS+F6 | Startet Konqueror |
| CAPS+T | Übersetzt den aktuell markierten Text (die X-Selection)
mithilfe von translate.sh |
Ich habe nicht alle Tasten belegt, aber wer möchte, kann meine
Konfigurationsdateien gerne als Vorlage nehmen, um sich etwas Eigenes
zu basteln. Verbesserungsvorschläge sind willkommen.
Hinweis: Früher hatte ich ein Logitech Cordless Desktop Optical
, welches mir jedoch von der Verarbeitung her nicht gefallen hat. Nach
einem Garantietausch nach nur 11 Monaten habe ich es dann verkauft und mir das
Cherry zugelegt, welches solider verarbeitet ist (ist natürlich nur mein
persönlicher Eindruck - Tastaturen sind wirklich Geschmackssache).
Wer Interesse daran hat: Ich habe hier
noch ein paar alte Konfigurationsdateien für diese Tastatur
zusammengepackt.
Um die Sondertasten auch auf den virtuellen Konsolen im Textmodus
verwenden zu können, kann man entweder das bereits oben erwähnte
Projekt FunKey benutzen oder aber den Links der weiterführenden
Informationen folgende. Diese Artikel der SuSE Supportdatenbank
beschrieben die Einrichtung solcher Tasten und sind auf jede
Distribution übertragbar.
Falls Ihre Sondertasten keine X-Events erzeugen, müssen Sie vielleicht
erst den Scancodes einen Keycode zuweisen. Wie dies geht oder wie man
Sondertasten im Textmodus nutzt oder wie man unter X11 mit Scancodes umgeht,
lesen Sie am besten bei den folgenden externen Quellen nach:
|
| [05.05.2008] Neuer PGP-Schlüssel
|
|
Ich habe einen neuen PGP/GPG-Schlüssel erzeugt. Der alte ist nach
wie vor gültig und kann auch noch benutzt werden.
|
| [02.04.2008] Umzug
|
|
Die Domain malte-wetz.de wird jetzt bei einem anderen Anbieter
gehostet. Es sollte keine Probleme mehr mit der Umleitung geben
und Werbepopups oder -frames gehören der Vergangenheit an.
|
| [02.04.2008] Gästebuch offline
|
|
Das Gästebuch bleibt erst einmal offline. Es wurde dort zu viel
Werbemüll hinein geschrieben. Sorry.
|
| [09.01.2006] Diverses
|
|
Kleinere Korrekturen und Ergänzungen an den Texten, IP-Filter
im Gästebuch stark erweitert (Lateinamerika, Spanien, Asien, Italien).
|
| [28.07.2005] vbox3-Anleitung
|
|
Kleinere Ergänzungen/Korrekturen im Abschnitt 4.1.1
|
| [23.04.2005] gDesklets aktualisiert
|
|
Da meine gDesklets offenbar von gdesklets.gnomedesktop.org
gelöscht wurden, habe ich die aktuellsten Fassungen hier
abgelegt.
|
| [25.01.2005] Kleinere Reparaturen
|
|
Links auf BSI-Seite und OE-FAQ angepasst und Gästebuch repariert.
|
|