Um künftig besser auf Eigenheiten einzelner Eingabegeräte reagieren zu können, soll Libinput ein Plugin-System auf der Basis von LUA erhalten.
Was ist Libinput?
Libinput ist eine moderne Programmbibliothek und ein Treiber zur Verwaltung von Eingabegeräten wie Maus, Tastatur, Touchpad, Touchscreen und Grafiktablett auf Linux-Systemen. Sie ist insbesondere für Wayland-Compositoren wie Weston entwickelt worden, wird aber auch als generischer Eingabetreiber für X11 genutzt. Libinput übernimmt dabei die Erkennung, Verwaltung und Ereignisverarbeitung von Eingabegeräten und stellt eine einheitliche Schnittstelle zur Verfügung. Ziel ist es, die Komplexität für Entwickler von Fenstermanagern und Compositors zu reduzieren, indem viele gerätespezifische Besonderheiten zentral in libinput behandelt werden.
Bessere Wartbarkeit
Libinput wurde ab 2014 im Rahmen von Wayland entwickelt und später als eigene Bibliothek ausgelagert, die von Peter Hutterer bei Red Hat betreut wird. Hutterer erläutert in einem Blogpost die Notwendigkeit für ein Plugin-System bei Libinput, das ab libinput 1.29 verfügbar sein soll. Das Plugin-System soll bei Problemen helfen, die die Entwickler zwar beheben, aber nicht implementieren können, da sie ansonsten die Funktionalität anderer Geräte einschränken oder verhindern.
Als Beispiel führt er das Rad zum horizontalen Scrollen bei der Maus Logitech MX Master 3S an. Libinput kann zwar mit den Macken für die USB/Bluetooth-Verbindung umgehen, aber wenn der Bolt-Dongle genutzt wird, ist es machtlos, da der Bolt-Empfänger dem Kernel nicht genügend Informationen liefert, um zu erkennen, um welches Gerät es sich genau handelt. Die Behebung eines Problems würde also alle anderen Geräte beeinträchtigen, die per Bolt-Dongle angeschlossen sind.
Vermutlich ab libinput 1.29
Künftig soll der Anwender für sein Eingabegerät verfügbare Plugins selbst hinzufügen können. Diese werden dann zwischen Kernel und libinput angeordnet und ermöglichen die Änderung des Geräts und seiner Ereignisse, bevor libinput sie erkennt.