Wie funktionieren zusätzliche Maustasten unter Linux? Einrichten einer 5 Tasten Maus

Bio-logisch

Moderator
Teammitglied
Die Grundfunktionen (ersten 3 Tasten + Mausrad) funktionieren normaler Weise mit jeder Maus sofort.
Zusätzliche Tasten und Funktionen müssen aber meist erst eingerichtet werden.
2 Schritte sind dafür erforderlich: Zunächst muss überprüft werden, ob der X-Server sie erkennt, danach muss eine Funktion zugewiesen werden.

1.) Überprüfen, ob die Tasten vom X-Server erkannt werden
Code:
xev | grep button
in einer Konsole ausgeführt öffnet ein Programm, zu dem ein weiteres Fenster gehört. Den Mauszeiger über dieses Fenster halten und die betreffenden Knöpfe drücken. Wenn sie erkannt werden, zeigt die Ausgabe von xev die "button Nr." der jeweiligen Taste an.

Übliche Belegungen:
- button 1, 2 und 3 entsprechen der ersten, zweiten und dritten Maustaste, button 4 und 5 dem Mausrad, 6 und 7 sind die "Daumentasten" (Logitech G3 Lasermaus unter SuSE 10.0)

- button 1, 2 und 3 entsprechend der ersten, zweiten und dritten Maustaste, button 4 und 5 Mausrad (vertikales Scrollen), 6 und 7 horizontales Scrollen (falls vorhanden), 8 und 9 "Daumentasten" (Gleiche Maus unter openSUSE 10.3)

Mögliche Fehler, wenn dies nicht funktioniert:
- Fehler in der Konfiguration des X-servers
In der Datei /etc/X11/xorg.conf die Sektion "InputDevice" suchen.
Folgende Einträge können Ärger machen:
Code:
Option      "Buttons" "7"
Da das Mausrad für 2 Tasten zählt, muss die Zahl bei einer 5 Tasten Maus auf mindestens 7 erhöht werden (eventuell auch höher, falls Nummern übersprungen werden).

Code:
Option      "ZAxisMapping" "4 5"
Bei älteren Distributionen kann ein Fehler im Treiber "mouse" vorliegen (tritt bei X.org 6.8 auf). Dieser führt dazu, dass Tasten, deren "button Nr." höher als die des Scrollrades sind, nicht mehr funktionieren.
Test: Die Zeile auskommentieren (# an den Anfang der Zeile setzen).
Wenn nun bei xev die Tasten funktionieren, in dieser Zeile 4 und 5 (die das Mausrad repräsentierenden Tasten) durch die höchsten belegten "button Nr." ersetzen, z. B.
Code:
Option      "ZAxisMapping" "6 7"
bei einer 5 Tasten Maus.
Wenn man das jetzt so stehen ließe, müsste man fortan mit den beiden Tasten "vor" und "zurück" scrollen.
Dies lässt sich aber mit einem Eintrag in der Datei /etc/X11/Xmodmap korrigieren, einfach folgende Zeile ganz ans Ende einfügen:
Code:
pointer = 1 2 3 6 7 4 5
(Mit dieser Konfiguration funktioniert auch eine normale Maus mit 3 Tasten + Rad noch)

Auch das Mausprotokoll kann falsch angegeben sein:
Code:
Option       "Protocol" "explorerps/2"
Je nach Konfiguration Alternativ "ExplorerPS/2" oder "ImPS/2" testen (Funktionieren beide auch mit USB-Mäusen)

Grundsätzlich gilt: Änderungen treten erst nach einem Neustart des X-Servers in Kraft. Dafür alle Anwendungen schließen und mit Strg Alt Backspace den Server neu starten.

- Einige "Spezialtasten" bei Logitech Mäusen funktionieren nur mit Hilfe des Programms
lomoco. Diese Tool ermöglicht zudem den Wechsel der Auflösung bei einigen Mäusen.

- Wenn auch dies nicht hilft, kann man den alternativen Maustreiber evdev testen:
evdev - ubuntuusers Wiki
Dieser verwendet nicht ein "Device" für alle Mäuse sondern identifiziert diese über den Namen und ermöglicht so die individuelle Konfigurationen für jede Maus.
(Hinweis: Diese Funktion ist seit neustem nicht mehr enthalten, da inzwischen eh für jede USB-Maus ein Link unter /dev/input/by-id angelegt werden sollte.)

2.) Funktionen der Tasten
Je nach Anwendung werden button 6 und 7 für horizontales Scrollen (Gnome, KDE, Openoffice) oder vor/zurück im Browser verwendet (z. B. Firefox, lässt sich aber anpassen)

Die Tasten 8 und 9 sind meist nicht belegt. Um sie zu nutzen ist es sinnvoll ein Programm zu installieren, dass die Tastendrücke abgreift und direkt in Aktionen (z. B. vor/zurück im Webbrowser) umsetzt.
Hierfür eignen sich imwheel oder alternativ xbindkeys in Kombination mit xautomation. Da imwheel seit längerem nicht mehr entwickelt wird, empfehle ich letzte Kombination.
xbindkeeys wird mit einem Eintrag in die Datei ~/.profile beim Anmelden gestartet:
Code:
xbindkeys
Unter SuSE 10.3 sieht das zugehörige Config-File ~/.xbindkeysrc bei mir so aus:
Code:
"xte 'keydown Alt_L' 'key Left' 'keyup Alt_L'"
   b:8 # Maustaste 8

"xte 'keydown Alt_L' 'key Right' 'keyup Alt_L'"
   b:9 # Maustaste 9
Damit wird jeweils die Tastenkombination Alt + Pfeiltaste Links bzw. Alt + Pfeiltaste Rechts auf Knopfdruck ausgeführt, was bei den meisten Browsern für die Funktion vor / zurück verwendet wird.

Weitere Details im Ubuntu - Wiki:
xbindkeys - ubuntuusers Wiki
Pakete für Suse und andere rpm basierte Distributionen findet man auf RPM Search.

Getestet mit der G3 Lasermaus und MX518 von Logitech unter SuSE 10.0 und 10.3. (Der Auflösungswechsel funktioniert bei beiden Mäusen mit den Standardabstufungen)


Quellen und weitere Informationen:
XF86Config/InputDevice - LinuxWiki.org - Linux Wiki und Freie Software
LinuxUser - Das Magazin für die Praxis - LU 10/2003: The Answer Girl
MOUSE(4) manual page
(bzw. bei X.org man mousedrv in der Konsole)
www.blue-screen.at - docs/linux/maus
Maus-Navigationstasten - Gentoo Linux Wiki Offline!
Startseite - ubuntuusers Wiki
Firefox horizontal scrolling fix :: semicomplete.com - Jordan Sissel
Mausfunktionen › Firefox › Wiki › ubuntuusers.de
XBindKeys
How to Use The Buttons of Your Trackball in Linux
http://www.tuxfutter.de/wiki/Tastenkürzel_unter_X
-> HOWTO Advanced Mouse - Gentoo Linux Wiki leider englisch, aber sehr ausführlich, behandelt auch die Konfiguration von mehreren Mäusen.
 
Zuletzt bearbeitet:
AW: Wie funktionieren zusätzliche Maustasten unter Linux? Einrichten einer 5 Tasten Maus

Kleines Update - unter openSUSE 10.3 verhalten sich die Mäuse etwas anders:
Der Bug im Treiber "mouse", der den Trick mit dem Mapping der "falschen" Tasten erforderlich machte, ist behoben worden.

Dafür werden die seitlichen Daumentasten nicht mehr als "6 und 7" sondern "8 und 9" angesprochen. Vermutlich aus Kompatibilitätsgründen mit Mäusen, die eine Scrollfunktion für die Waagerechte haben (die üblicher Weise auf 6 und 7 liegen).
 
AW: Wie funktionieren zusätzliche Maustasten unter Linux? Einrichten einer 5 Tasten Maus

Ich hab mir dieses lomoco mal etwas genauer angesehen:
Meine G3 Logitech wurde nicht erkannt, meine MX 518 schon.

lomoco --no-sms hatte bei meiner MX518 keinen Effekt, die Tasten zum Auflösungswechsel wechselten auch weiterhin die Auflösung aber erzeugten kein Event im xev. Auch dieser "Programmumschalter" funktioniert nicht, er macht immer das gleiche wie die linke Maustaste.
Im Ubuntu Wiki ist ein Script (link ist oben), dass zwar einen Effekt hatte, aber nicht den erwünschten: Die Taste "Höhere Auflösung" erzeugte danach ein X-Event, aber das gleiche wie der Knopf "Zurück". Der Knopf "niedrigere Auflösung" hatte danach gar keine Funktion mehr. (Lies sich auch nur durch Aus- und Einstecken der Maus wieder beheben)
Entgegen dem Ubuntu wiki ist es aber nicht erforderlich, den X-Server neu zu starten (bringt keine Veränderung).

Trotz dem habe ich ein paar Scripte geschrieben, mit denen man die Auflösung Wechseln kann. Die genauen Werte lassen sich anpassen, aber vorher bitte in der Manpage man lomoco nachlesen, welche Auflösungen genau unterstützt werden.

Diese Scripte lassen sich z. B. mit xbindkeys auch auf eine (funktionierende) Maustaste legen.

Hier mal ein Beispiel zum einfachen Wechsel zwischen zwei Auflösungen:

Code:
#!/bin/bash
RESOLUTION=$(lomoco -i | grep Resolution | cut -b 20-23 )
if [ $RESOLUTION == 1600 ]
then lomoco --1200
else lomoco --1600
fi

Stufenweise die Auflösung hochsetzen (800, 1200 und 1600):
Code:
#!/bin/bash
RESOLUTION=$(lomoco -i | grep Resolution | cut -b 20-23 )
if [ $RESOLUTION == 800 ]
then lomoco --1200

elif [ $RESOLUTION == 1200 ]
then lomoco --1600

# else lomoco --800
fi


Und wieder runter:
Code:
#!/bin/bash
RESOLUTION=$(lomoco -i | grep Resolution | cut -b 20-23 )
if [ $RESOLUTION == 1600 ]
then lomoco --1200

elif [ $RESOLUTION == 1200 ]
then lomoco --800

# else lomoco --1600
fi

Wenn man bei den letzten beiden Beispielen jeweils das Kommentarzeichen der vorletzten Zeile entfernt, hat man eine Endlosschleife.
 
Zuletzt bearbeitet:
AW: Wie funktionieren zusätzliche Maustasten unter Linux? Einrichten einer 5 Tasten Maus

Bei einigen Distributionen werden die Einstellungen für die Maus nicht mehr direkt in der xorg.conf gespeichert sondern ausgelagert.

Dies hat den Vorteil, dass die Automatisierung verbessert wird. Dafür wird aber die Konfiguration von Hand komplizierter.
Eine Anleitung findet sich im ubuntu - wiki:
10-x11-input.fdi > Wiki > ubuntuusers.de
 
Zuletzt bearbeitet:
Oben