varheit.de – nichts als die varheit

Maus mit fünf Tasten und Mausrad unter OpenBSD

2026-03-19-15-47 (mouse, X11, OpenBSD)

Typischerweise lösen die beiden Zusatztasten einer Maus mit fünf Tasten die gleichen Ereignisse wie das Mausrad aus. Daher lassen sich diese Tasten nicht separat abfragen und belegen. Im folgenden sind zwei mögliche Lösungen für dieses Problem abhängig vom verwendeten Maustreiber dargestellt.

Maustaste             Aktion
=============================
Linke Maustaste    -> Knopf 1
Mittlere Maustaste -> Knopf 2
Rechte Maustaste   -> Knopf 3
Zusatztaste 1      -> Knopf 4
Zusatztaste 2      -> Knopf 5
Mausrad hoch       -> Knopf 4
Mausrad runter     -> Knopf 5

Mit dem ws-Treiber

Mittels eines Abschnitts in der Konfigurationsdatei /etc/X11/xorg.conf [7] kann das Mausrad auf andere als die Standardtasten 4 und 5 gelegt werden. Relevant ist hierfür die Einstellung unter ZAxisMapping [3]. Die (optionale) Zuordnung unter WAxisMapping [4] ist für Mäuse hilfreich, die auch horizontalen Bildlauf unterstützen.

Mit dem folgenden Beispiel wird das Mausrad auf die Tasten 8 und 9 verschoben. Der seitliche Bildlauf bleibt hier unberührt auf den Standardwerten 6 und 7.

xorg.conf.ws
Section "InputClass"
	Identifier "mouse driver"
	MatchDriver "ws"
	Driver "ws"
	Option "Buttons" "9"
	Option "Device" "/dev/wsmouse"
	Option "Floating" "false"
	Option "WAxisMapping" "6 7"
	Option "ZAxisMapping" "8 9"
EndSection

In der X-Sitzung muß jetzt mit xmodmap [6] noch die Zuordnung der physischen Tasten entsprechend geändert werden, um die ursprüngliche Bildlauffunktion mit dem Mausrad wiederherzustellen.

xmodmap -e "pointer = 1 2 3 8 9 6 7 4 5"

Mit dieser Einstellung lösen die physischen Tasten 8 und 9 (also das Mausrad) die Mausaktionen 4 und 5 (also vertikalen Bildlauf) aus. Maustasten 1-3 sowie 6 und 7 bleiben unverändert.

Man hat jetzt also 5 differenzierte Maustasten plus Mausrad. Mit xev [5], genauer xev -ev button kann man die neue Zuordnung überprüfen:
Maustaste             Aktion     (nach xmodmap)
===============================================
Linke Maustaste    -> Knopf 1
Mittlere Maustaste -> Knopf 2
Rechte Maustaste   -> Knopf 3
Zusatztaste 1      -> Knopf 4 -> (8)
Zusatztaste 2      -> Knopf 5 -> (9)
Mausrad hoch       -> Knopf 8 -> (4)
Mausrad runter     -> Knopf 9 -> (5)

Die Zusatztasten lösen in der aktuellen Belegung überlicherweise die Aktion „Zurück“ und „Vorwärts“ im Browser aus. Mit Werkzeugen wie xbindkeys [8] lassen sich auch beliebige Kommandos auf diese Tasten legen:

.xbindkeys
"/usr/X11R6/bin/xcalc"
  b:8
"/usr/X11R6/bin/xterm"
  b:9

Mit dem mouse-Treiber

Alternativ zum eben beschriebenen Vorgehen, das den Maustreiber ws [2] verwendet, gibt es auch eine einfache Konfiguration in /etc/X11/xorg.conf, die den Maustreiber mouse [1] verwendet und ohne zusätzlichen Aufruf von xmodmap [6] funktionieren sollte.

xorg.conf.mouse
Section "InputClass"
	Identifier "mouse driver"
	Driver "mouse"
	MatchIsPointer "on"
EndSection 

In diesem Fall werden die zwei Zusatztasten automatisch als Knopf 8 und 9 konfiguriert.

Maustaste             Aktion
=============================
Linke Maustaste    -> Knopf 1
Mittlere Maustaste -> Knopf 2
Rechte Maustaste   -> Knopf 3
Zusatztaste 1      -> Knopf 8
Zusatztaste 2      -> Knopf 9
Mausrad hoch       -> Knopf 4
Mausrad runter     -> Knopf 5

Mit einer der beiden Methoden sollte man auf jeden Fall zum Ziel kommen. Auf die erste Methode bin ich über einen Artikel [10] von Bruno Flückiger in BSD How To [9] gestoßen. Vielen Dank! Prinzipiell lassen sich sicherlich auch Mäuse mit mehr als fünf Tasten auf diese Weise konfigurieren. Leider hatte ich kein Modell zum Ausprobieren zur Verfügung.