libinput & Mausgesten in KDE
Mir ist aufgefallen, dass ich gar nichts über Touchpads und Mausgesten im Blog hier habe, diese aber schon seit einer gefühlten Ewigkeit benutze. Was man dafür braucht ist ein einigermaßen aktuelles Notebook mit einem Touchpad, das Zweifinger-, oder Dreifingergesten unterstützt.
In modernen Linux Desktop Distributionen, wie zum Beispiel Kubuntu kommt libinput als zum Einsatz, um sämtliche Eingaben für sogenannte Display Server zur Verfügung zu stellen. Also alles, was sich Tastatur, Maus, Touchpad, Stift oder sonst noch Eingabegerät nennt, mit dem man irgendwelche Eingaben am Computer machen kann. Libinput ist der Input Manager des Displayservers Wayland.
Hintergrund zum Thema Display Server unter Linux:
Da unter Linux vieles modular aufgebaut ist, also viele Programme und Programmbibliotheken arbeiten zusammen um z.B. eine komplexe Sache erledigen. Frei nach dem Prinzip “teile und herrsche", ist auch die grafische Anzeige in verschiedenen Programm(bibliotheken) unterteilt. So ist die grafische Anzeige bei Linux Desktopsystemen klassischerweise in 3 verschiedene “Programme” aufgeteilt: 1. Display Server, 2. Fenstermanager,, 3. Desktopmanager . Beim letzten Punkt verschwimmt die Teilung mittlerweile etwas. Grob kann man aber sagen, dass:
- Display Server (Xorg/Wayland) organisieren beispielsweise die grafische Auflösung, grafische Darstellung, Multimonitorsetup und auch Netzwerkkommunikation zwischen Displayservern auf unterschiedlichen Computern.
- Fenstermanager organisieren die Darstellung, Funktion und Verwaltung von Fenstern, Scrollballken, Fenstereigenschaften, Icons usw
- Desktopmanager organisieren die Kommunikation zwischen verschiedenen Programmen (z.B. Copy&Paste) und einiges mehr.
Der Displayserver Xorg ist schon relativ alt und der Nachfolge.Displayserver ist Wayland, der so langsam in die Distributionen mit einzieht. Mehr zu diesem Thema findest du auf englisch hier https://freedesktop.org/wiki/Software/ .
So, nun aber zum eigentlichen Thema Mausgesten auf dem Touchpad einrichten.
Vorbereitung
Installiert sind bei meinem Kubuntu 20.04 folgende Pakete xserver-xorg-input-libinput, libinput-bin, libinput-tools, libinput10, xinput, xdotool . Diese sollten bereits installiert sein. Prüfe das zuerst mit dem Befehlsudo apt list xserver-xorg-input-libinput libinput-bin libinput-tools libinput10 xinput xdotool
Sollte eines der Pakete fehlen, installiere es mit sudo apt install PAKETNAME
Konfiguration
Konfiguriert wird libinput entweder systemweit für alle Benutzer in der Datei /etc/libinput-gestures.conf
oder nur für den entsprechenden (eigenen) Benutzer im Homeverzeichnis des Benutzers in der Textdatei ./conf/libinput-gestures.conf
. Als Vorlage kann man sich die Datei aus /etc/libinput-gestures.conf in das eigene Benutzerverzeichnis kopieren mit cp /etc/libinput-gestures.conf ~/.config/libinput-gestures.conf . Die Benutzerkonfiguration “überschreibt” immer die systemweite Konfiguration.
In der Datei steht am Anfang auch eine Erklärung auf Englisch, wie man das mit der Konfiguration funktioniert
# Each gesture line has 3 [or 4] arguments separated by whitespace:
#
# action motion [finger_count] command
#
# where action and motion is either:
# swipe up
# swipe down
# swipe left
# swipe right
# pinch in
# pinch out
Grob gesagt: Jede Gestenkonfiguration pro Zeile enthält 3 bis 4 Argumente, die mit einem Leerzeichen getrennt werden. Bei mir sieht das zum Beispiel so aus (nur 3 und 4 Fingergesten. Keine 2 Fingergesten, da es sich sonst eventuell mit dem Scrollen beisst)
# Show all windows on the Screen
gesture swipe up 3 xdotool key ctrl+F9
gesture swipe down 4 xdotool key ctrl+F8
# Minimize current window
gesture swipe down 3 xdotool key super+space
#gesture swipe up 3 xdotool key super+Page_Down
gesture swipe left 3 xdotool key ctrl+super+Left
gesture swipe right 3 xdotool key ctrl+super+Right
Wichtig hierbei sind 2 Dinge!
- Die Aktionen, was passiert, wenn man “swiped” muss in den Systemeinstellungen (grafisch) - Verhalten des Arbeitsbereiches - Arbeitsflächen-Effekte schon konfiguriert sein. Oder aber auch über Systemeinstellungen - Kurzbefehle - Globale-Kurzbefehle - KWin konfiguriert sein!
- Die Windows- bzw Linux Taste wird in den Systemeinstellungen als “Meta” bezeichnet. In der Konfiguration von libinput wird sie aber als “Super” bezeichnet. Ansonsten gilt Alt, Ctrl,Shift, Blank, Tab, Page_up, Page_down, left, right, up, down, usw
Starten des Dienstes
Es gibt zwei Wege den entsprechenden Dienst zu starten, damit die Gesten funktionieren. Der bevorzugte Weg ist dieser hier
libinput-gestures-setup service
Dann muss noch konfiguriert werden, dass der Dienst für den Desktop aktiv ist
libinput-gestures-setup autostart
Wenn man etwas an der Konfiguration ändert, so kann man das im laufenden Betrieb aktiv machen, indem man
libinput-gestures-setup stop && libinput-gestures-setup start
oder das hier eingibt
libinput-gestures-setup restart
Den Status prüft man mit dem Befehl
libinput-gestures-setup status
Zusätzliche Infos
- Mit
xinput list
bekommst du eine Auflistung aller möglichen Eingabegeräte, die an deinem Computer angeschlossen sind. - Mit
xinput list-props ID
bekommst du die Parameter, die mit dem entsprechenden Device (Maus, Tastatur, Touchpad) möglich sind. - Mit
xinput set-prop ID EIGENSCHAFTEN
(ohne Kommas) kannst du die meisten Eigenschaften verändern.
Quellen
- Libinput-gestures https://github.com/bulletmark/libinput-gestures
- Dokumentation (englisch) https://wayland.freedesktop.org/libinput/doc/latest/features.html
- Libinput Home https://freedesktop.org/wiki/Software/libinput/

Hallo, das Auflisten der Pakete
apt list ...
funktioniert auch ohnesudo
.