22.5Tastatur und Maus
Es gibt verschiedene Treiber, über die X mit der Tastatur, der Maus oder einem Touchpad kommuniziert: Die meisten aktuellen Distributionen verwenden den evdev-Treiber für Maus und Tastatur. Auf Notebooks mit einem Touchpad kommt außerdem der synaptics-Treiber zum Einsatz. Welche Treiber X auf Ihrem Rechner verwendet, stellen Sie am schnellsten mit einem Blick in die X-Logging-Datei fest:
Der größte Vorteil des evdev-Treibers im Vergleich zu den älteren xkbd- und mouse-Treibern besteht darin, dass er problemlos mit Tastaturen und Mäusen zurechtkommt, die im laufenden Betrieb angeschlossen bzw. entfernt werden.
Der Sektionsname InputClass in xorg.conf und das Schlüsselwort MatchIsKeyboard ermöglichen es, Einstellungen für eine ganze Gruppe von Geräten derselben Klasse durchzuführen, hier also für alle Tastaturen, die an den Rechner angeschlossen sind. Mit MatchVendor ist es möglich, die Konfiguration auf einen bestimmten Hersteller einzuschränken, mit MatchDevicePath auf einen bestimmten Device-Namen.
Die einzelnen Optionen stimmen mit denen des xkbd-Treibers überein und sind etwas weiter unten beschrieben. Wie die Konfiguration durchgeführt wird, ist distributionsabhängig:
-
Bei Debian und Ubuntu liest das udev-Script /lib/udev/rules.d/64-xorg-xkb.rules die Variablen XKBxxx aus der Datei /etc/default/keyboard.
-
Bei Fedora, openSUSE und anderen Distributionen mit einer aktuellen Systemd-Version werden die Tastatureinstellungen für die Konsole in /etc/locale.conf gespeichert, für X in der Datei /etc/X11/xorg.conf.d/00-keyboard.conf. Direkte Änderungen dieser Dateien sollten vermieden werden; stattdessen ist das Kommando localectl zur Einstellung der Tastaturoptionen vorgesehen.
Einstellungen für die Mausfunktionen des evdev-Treibers sind in der Regel nicht erforderlich. Sollte das doch einmal der Fall sein, erfolgen die Mauseinstellungen wie die Tastatureinstellungen in einem InputClass-Abschnitt, der diesmal aber durch das Schlüsselwort MatchIsPointer markiert wird. Die einzelnen Optionen entsprechen denen des weiter unten beschriebenen mouse-Treibers.
Der xkbd-Treiber wird durch einen InputDevice-Abschnitt in xorg.conf statisch konfiguriert. Fehlt dieser Abschnitt, funktioniert die Tastatur zumeist dennoch, allerdings mit dem US-Tastaturlayout. Die folgenden Zeilen zeigen die erforderlichen Einstellungen für ein deutsches Tastaturlayout:
Die folgenden Punkte fassen die wichtigsten Einstellungen für die Schlüsselwörter XkbXxx zusammen:
-
XkbRules bestimmt, wie die Einstellungen für die weiteren Optionen ausgewertet werden sollen. Im Regelfall lautet hier die richtige Einstellung xorg.
-
XkbModel beschreibt die Tastatur. Zulässige Einstellungen sind unter anderem:
pc101
US-Tastatur ohne Windows-Tasten (Standardeinstellung)
pc102
internationale Tastatur ohne Windows-Tasten
pc104
US-Tastatur mit Windows-Tasten
pc105
internationale Tastatur mit Windows-Tasten
-
XkbLayout beschreibt die Anordnung der Tasten auf der Tastatur. Diese ist länderabhängig. Als Einstellungen sind die üblichen Ländercodes zulässig, beispielsweise us (Englisch), de (Deutsch) oder fr (Französisch).
-
XkbVariant ermöglicht Zusatzeinstellungen zum Tastaturlayout. Die gebräuchlichste Einstellung lautet nodeadkeys. Sie bewirkt, dass die Zeichen ~ ^ ' ` unmittelbar eingegeben werden können und nicht zur Komposition von Zeichen aus Fremdsprachen dienen. Bei Apple-Tastaturen geben Sie die Einstellung mac an.
-
XkbOptions enthält Zusatzoptionen zur Weiterleitung an setxkbmap -option.
Um eine Tastatur mit vielen Sondertasten unter Linux optimal zu nutzen, können Sie das Programm LinEAK installieren (Linux support for Easy Access and Internet Keyboards, Paketname lineak*). Detaillierte Informationen zur Konfiguration geben man lineakd sowie die folgende Website:
Auch der mouse-Treiber wird durch einen InputDevice-Abschnitt konfiguriert. Wenn der Abschnitt fehlt, versucht X eine passende Konfiguration selbst zu erraten, was zumeist gelingt. Die folgenden Zeilen zeigen eine Minimalkonfiguration für eine Maus mit Mausrad:
Zur Konfiguration der Maus sind folgende Schlüsselwörter vorgesehen:
-
Protocol gibt an, wie die Kommunikation zwischen Maus und Computer erfolgt. Übliche Einstellungen sind auto oder usb.
-
Device gibt an, wie die Maus mit dem Computer verbunden ist. Übliche Einstellungen sind /dev/input/mousen bzw. /dev/input/mice, wobei im zweiten Fall alle angeschlossenen Mäuse und Touchpads parallel ausgewertet werden.
-
Buttons gibt an, wie viele Tasten die Maus hat. Standardmäßig nimmt X an, dass es drei Tasten gibt. Beachten Sie, dass jedes Rad wie zwei Tasten gerechnet wird. Bei einer Maus mit drei Tasten und einem Rad lautet die richtige Einstellung also 5.
-
ZAxisMapping gibt an, welchen virtuellen Buttons eventuell vorhandene Räder zugeordnet werden. Wenn Sie das Mausrad in die eine Richtung drehen, wertet X das wie das Drücken eines Buttons aus. Wenn Sie das Rad in die andere Richtung drehen, entspricht dies einem zweiten Button.
-
Emulate3Buttons ermöglicht es, durch das gleichzeitige Drücken der rechten und linken Maustaste eine fehlende mittlere Maustaste zu simulieren. Das ist eine Notlösung für Mäuse ohne Mausrad. Beachten Sie, dass diese Option bei aktuellen Xorg-Versionen standardmäßig deaktiviert ist!
Mit Emulate3Timeout kann die Zeit in Millisekunden angegeben werden, innerhalb der beide Tasten gedrückt werden müssen. Wählen Sie diese Zeit zu klein, wird das nicht ganz gleichzeitige Drücken beider Tasten separat gewertet. Zu große Werte sind aber auch unpraktisch, weil die Reaktion auf jeden Mausklick um diese Zeit verzögert wird (weil X noch nicht weiß, wie es den Mausklick werten soll). Brauchbare Einstellungen sind:
Option "Emulate3Buttons" "on" Option "Emulate3Timeout" "50"
Auf den meisten Notebooks befinden sich Touchpads der Firma Synaptics oder dazu kompatible Komponenten. Grundsätzlich emuliert das Protokoll dieser Geräte eine Standardmaus, sodass zur Verwendung unter X keine speziellen Treiber erforderlich sind. Um aber auch diverse Zusatzfunktionen des Touchpads zu nutzen, wird statt des mouse-Treibers in der Regel der synaptics-Treiber verwendet.
X lädt den Treiber beim Start automatisch – und das auch bei Distributionen, die für die Tastatur und herkömmliche Mäuse den evdev-Treiber nutzen. Wie bei xkbd und mouse ist eine manuelle Konfiguration in xorg.conf nur erforderlich, wenn die von X gewählten Standardeinstellungen nicht zufriedenstellend funktionieren. Die unzähligen Optionen dieses Treibers dokumentiert man synaptics. In der Regel können Sie sich die Lektüre aber sparen und Ihr Touchpad komfortabler in den KDE- oder Gnome-Systemeinstellungen konfigurieren.
Obwohl das Verfahren schon seit vielen Jahren als veraltet gilt, ist es nach wie vor möglich, die Tastatur- und Mauskonfiguration durch das Kommando xmodmap bzw. durch Xmodmap-Dateien zu verändern. Ein Anwendungsbeispiel ist das Vertauschen von Tasten. Wenn Sie eine deutsche Apple-Tastatur unter Linux verwenden, sind mitunter die Tasten (<) und (^) vertauscht. Abhilfe schafft die folgende Datei .Xmodmap im Heimatverzeichnis, die beim Einloggen automatisch berücksichtigt wird. Außerdem müssen Sie natürlich noch das Apple-spezifische Tastaturlayout einstellen, z.B. mit den Tastaturkonfigurationsprogrammen von Gnome oder KDE.
Und gleich noch ein Tipp für Mac-Liebhaber: Wenn Sie sich unter OS X an das verkehrte Scroll-Verhalten von Mausrad und Touchpad gewöhnt haben, können Sie auch X so konfigurieren. Eine einzige Zeile in .Xmodmap reicht dazu aus:
Beachten Sie die abweichende Reihenfolge der Zahlen 4 und 5 sowie 6 und 7! Damit wird die Funktion der Maustasten 4 und 5 sowie 6 und 7 umgedreht. Diese vier virtuellen Maustasten repräsentieren Linux-intern die Drehung des Mausrads bzw. das Drücken des Mausrads nach rechts oder links. Leider funktioniert diese Xmodmap-Einstellung nur bei ausgewählten Programmen. Problematisch sind unter anderem moderne Gnome-Programme, die Mausereignisse anders auswerten und die Xmodmap-Einstellung ignorieren. Deswegen ist die hier präsentierte Konfiguration leider nur eine Teillösung.
Eine Sammlung weiterer Xmodmap-Beispiele finden Sie hier:
http://www.pro-linux.de/artikel/2/1198/zauberspiele-mit-xmodmap.html
Unabhängig von der X-Konfiguration geben auch die Systemeinstellungen von Gnome und KDE die Möglichkeit, die Tastatur, die Maus und das Touchpad individuell einzurichten. Zur Konfiguration der Tastatur öffnen Sie unter Gnome 3 das Modul Region und Sprache, unter KDE verwenden Sie das Modul Eingabegeräte. Mit diesen Programmen können Sie auch einstellen, wie sich die CapsLock-Taste verhalten soll und ob eine Taste (z.B. die Windows-Taste) als Compose-Taste dienen soll. Damit können Sie die zwei Zeichen gleichsam vereinen. Beispielsweise liefert die Compose-Taste, (A), (E) das Zeichen Æ.