CyMotion Master Linux ohne Zusatzsoftware
Wie in diesem Eintrag erwähnt, hab ich zu Weihnachten ja so ein Ding geschenkt bekommen. Wie nutze ich aber seine 29 Sondertasten? Von Cherry gibt es dazu eine Software (KeyM@n), die allerdings sehr SuSe- und KDE-lastig zu sein scheint. Ich verwende gentoo und Gnome. Zwar sollte das Programm laut gentoo-Wiki auch in dieser Umgebung laufen, dennoch: Das ist nicht The Right Thing™. KeyM@n oder auch LinEAK sind Programme, die nur bereits vorhandene Funktionalitäten duplizieren. Schon Gnome bzw. Metacity überwachen ja die Tastatureingaben und können auf Tastendruck Programme starten, die Lautstärke verändern oder die CD auswerfen. Was zunächst fehlt ist die Möglichkeit, banale Funktionen wie „Kopieren“, „Einfügen“ oder „Rückgängig“ an die dafür vorgesehenen Sondertasten zu binden. Eine nähere Beschäftigung mit der Tastatursteuerung des X-Window-Systems hat mir dann gezeigt, wie es doch geht. Ganz ohne Zusatzprogramm.
Schritt eins habe ich aus dem Artikel Cherry Cymotion Master Linux im bereits erwähnten gentoo-Wiki abgekupfert. Ein Startscript muß die 29 neuen Tasten dem Kernel quasi vorstellen, sonst tut sich gar nichts. Ich hab das Script auf meinem Webspace zum Download abgelegt: cymotionkeys. Downloaden, unter gentoo in /etc/init.d/ speichern, mit chmod +x
ausführbar machen und mit rc-update -a cymotionkeys default
dem default-Runlevel hinzufügen.
In einem zweiten Schritt habe ich die Keyboard-Definitionen von X geändert. Den Anstoß dazu hat mir der Artikel Howto use Cherry Master Linux/Solar with e17 gegeben. Zunächst wird die Datei cymotion ins Verzeichnis /etc/X11/xkb/compat/ gespeichert. Sie enthält sogenannte „Redirects“: Das Drücken einer bestimmten Taste wird auf einen andere Taste umgeleitet. So kann ich die von Gnome nicht direkt unterstützten Funktionstasten für Kopieren und Einfügen nutzen, indem ich sie einfach auf die üblichen Tastaturkürzel „Strg+C“ und „Strg+V“ umleite.
Nun sind Änderungen an einer ganzen Reihe von Dateien in /etc/X11/xkb/ notwendig, um den neuen Tastaturtyp ins System einzufügen und vor allem die Scancodes seiner Zusatztasten auf die gewünschten Symbole umzulegen. Zur Vereinfachung habe ich hier einen Patch, der die Sache automatisiert. Wer sich beim Patchen unwohl fühlt, kann die Änderungen auch manuell durchführen: Diese Anleitung erklärt, wie es geht.
Abschließend mußte ich noch die Datei /etc/X11/xorg.conf (in älteren Installationen: XF86Config) anpassen. Es gibt dort einen Abschnitt, der so ähnlich aussehen könnte:
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbModel" "pc105"
Option "XkbLayout" "de"
EndSection
In diesem Abschnitt wird die Zeile
Option "XkbModel" "pc105"
durch
Option "XkbModel" "cherrybluec"
erzetzt. („cherrybluec“ ist der Name, den die Tastatur intern erhalten hat.) Falls noch keine Zeile mit Option "XkbModel" "…"
existiert, muß man sie hinzugefügen.
Wenn alle Änderungen durchgeführt sind, muß das Startscript noch mit /etc/init.d/cymotionkeys start
manuell aufgerufen werden, weil es ja beim letzten Systemstart noch nicht mit dabei war. Danach X-Session beenden und neu starten. Unter Gnome steht die neue Tastatur unter „Einstellungen | Tastatur“ zur Verfügung; wahrscheinlich meldet Gnome sogar gleich beim Start, daß sich die Tastaturdefinition geändert hat und fragt, ob die neue aus dem X-Window-System übernommen werden soll. Danach können über das Programm gnome-keybinding-properties (bzw. den Menüpunkt „Einstellungen | Tastenkombinationen“) Aktionen mit Tasten verbunden werden. Die Funktionen wie Kopieren, Rückgängig, Einfügen usw. sind bereits fix über die Tastaturdefinition belegt.
Ich bin mit dem Resultat ausgesprochen glücklich: Alles funktioniert so, wie es soll. Gnome, X und Metacity tun brav, wozu sie da sind, und ihre Funktionalität wird nicht durch ein weiteres und im Grunde unnötiges Programm dupliziert. Natürlich haben sowohl KeyM@n als auch LinEAK zusätzliche Goodies zu bieten (zB eine kontextabhängige Tastenbelegung). Zugunsten der reinen Lehre verzichte ich darauf aber gern. ;-)