Maus

So ändern Sie die Maus- und Touchpad-Einstellungen mit Xinput in Linux

So ändern Sie die Maus- und Touchpad-Einstellungen mit Xinput in Linux
Die meisten Linux-Distributionen werden standardmäßig mit der Bibliothek „libinput“ ausgeliefert, um Eingabeereignisse auf einem System zu verarbeiten. Es kann Eingabeereignisse sowohl auf Wayland als auch auf X verarbeiten und kann eine Vielzahl von Eingabegeräten verarbeiten, einschließlich Touchscreen-Displays und Eingabestifte.

Dieser Artikel erklärt das Ändern verschiedener Optionen für ein Eingabegerät, das von der libinput-Bibliothek verarbeitet wird. Um die verfügbaren Optionen zu überprüfen und zu konfigurieren, wird ein Befehlszeilentool namens „xinput“ verwendet.

Beachten Sie, dass diese Anleitung nur mit dem X-Display-Server funktioniert. Für Wayland müssen Sie sich auf die von der Distribution bereitgestellten Systemeinstellungen verlassen oder ein zentrales Konfigurationsprogramm wie gsettings verwenden.

Eingabegeräte auflisten

Xinput ist auf Ubuntu standardmäßig vorinstalliert. Wenn es aus irgendeinem Grund nicht auf Ihrem System installiert ist, führen Sie den folgenden Befehl aus, um es zu installieren:

$ sudo apt install xinput

Führen Sie den folgenden Befehl aus, um alle an Ihr System angeschlossenen integrierten und externen Eingabegeräte aufzulisten:

$ xinput --list

Sie sehen eine Ausgabe im Terminal wie folgt:

Der Eintrag unter „Virtual Core Pointer“ (durch rote Pfeile hervorgehoben) ist eine kabelgebundene USB-Maus, die an mein System angeschlossen ist. Sie müssen den genauen Namen oder die im obigen Screenshot gezeigte ID verwenden, um die Maus- oder Touchpad-Einstellungen über das xinput-Befehlszeilentool zu konfigurieren.

Beachten Sie, dass im obigen Screenshot xinput Eigenschaften von Geräten anzeigt, die mit meinem System verbunden sind. Gerätenamen und IDs unterscheiden sich für Ihr System je nach Hardwarekonfiguration und externen Geräten, die über USB, Bluetooth oder drahtlose Empfänger verbunden sind.

Anzeigen der Eigenschaften eines verbundenen Geräts

Um den aktuellen Status und verschiedene aktive Optionen für das oben aufgeführte Gerät anzuzeigen, führen Sie einen Befehl im folgenden Format aus:

$ xinput --list-props „id“

Für die oben aufgeführte Dell-Maus lautet der Befehl:

$ xinput --list-props 8

Es gibt eine Einschränkung bei der Verwendung dieses Befehls. Die in der Terminalausgabe angezeigten IDs ändern sich tendenziell, wenn Sie ein aufgelistetes Gerät an einen anderen Port anschließen. Da sich die IDs ständig ändern, besteht immer die Möglichkeit, versehentlich Einstellungen für ein anderes Gerät zu ändern. Um dieses Problem zu beheben, ist es besser, den vollständigen Gerätenamen als Kennung anstelle seiner ID zu verwenden. Für die oben aufgeführte Dell-Maus wäre der bessere Befehl also:

$ xinput --list-props "PixArt Dell MS116 optische USB-Maus"

Der unten rot markierte Bereich zeigt die aktuelle Konfiguration des Geräts for. Sie können nur Optionen ändern, die in der Ausgabe angezeigt werden. Abhängig von den Fähigkeiten Ihres Geräts können einige zusätzliche Optionen aufgeführt sein, während andere ganz weggelassen werden können.

Eigenschaften eines verbundenen Geräts ändern

Nachdem Sie nun wissen, wie Sie die Eigenschaften eines angeschlossenen Eingabegeräts überprüfen, können die Einstellungen dafür einfach mit einigen einfachen Befehlen geändert werden.

Um beispielsweise das natürliche Scrollen zu aktivieren oder zu deaktivieren, müssen Sie Befehle im folgenden Format ausführen:

$ xinput set-prop "PixArt Dell MS116 optische USB-Maus" 285 0
$ xinput set-prop "PixArt Dell MS116 optische USB-Maus" 285 1

„285“ ist die ID für natürliches Scrollen, wie im Screenshot oben gezeigt. „0“ deaktiviert das natürliche Scrollen, während „1“ es aktiviert. Auch hier ist die Verwendung von IDs keine zuverlässige Möglichkeit, diese Einstellungen zu ändern. Ein besserer Ansatz ist die Verwendung der vollständigen Eigenschaftskennung.

$ xinput set-prop "PixArt Dell MS116 optische USB-Maus"
"libinput Natural Scrolling aktiviert" 0
$ xinput set-prop "PixArt Dell MS116 optische USB-Maus"
"libinput Natural Scrolling aktiviert" 1

Beachten Sie, dass Sie keine Eigenschaftskennungen berühren dürfen, die das Wort "Standard" enthalten. Dies sind Referenz-Fallback-Werte und jeder Versuch, sie zu ändern, führt dazu, dass xinput einen Fehler ausgibt.

Um mehr über andere Optionen und die in der obigen Terminalausgabe aufgeführten Optionen zu erfahren, besuchen Sie die folgenden Seite.

Die Änderungen dauerhaft machen

Die oben erläuterte Methode ändert die Einstellungen nur für die aktive Sitzung. Wenn Sie das System neu starten, sind diese Änderungen weg. Um sie persistent zu machen, können zwei Ansätze verwendet werden.

Bei der ersten Methode müssen Sie diese Befehle zu Startanwendungen hinzufügen add. Sie können so viele Einträge hinzufügen, wie Sie möchten, indem Sie eine schöne grafische Oberfläche verwenden. Es sind keine Root-Berechtigungen erforderlich, um diese Einträge zu erstellen, und das spätere Ändern ist super einfach.

Um den Befehl zu Startanwendungen hinzuzufügen, starten Sie die App „Startanwendungen“ über den Anwendungsstarter. Klicken Sie auf die Schaltfläche „Hinzufügen“, um einen Eintrag hinzuzufügen. Legen Sie eine Beschreibung fest und geben Sie den entsprechenden xinput-Befehl gemäß Ihren Anforderungen ein. Stellen Sie sicher, dass das Kontrollkästchen aktiviert ist, nachdem Sie den Eintrag gespeichert haben.

Das war's, der von Ihnen eingegebene xinput-Befehl wird beim Systemstart automatisch ausgeführt. Ich habe dem Befehl eine kleine Verzögerung hinzugefügt, um auf das ordnungsgemäße Laden der Sitzung zu warten. Als Referenz hier der Befehl, der unten im Screenshot verwendet wird:

$ sleep 3 && xinput set-prop "PixArt Dell MS116 optische USB-Maus"
"libinput Natural Scrolling aktiviert" 1

Bei der zweiten Methode müssen Sie einige Befehle als Root ausführen und eine Textdatei bearbeiten. Der Vorteil dieser Methode besteht darin, dass Sie nicht für jede Option in einer GUI separate Einträge erstellen müssen und sich alles nur in einer Textdatei befindet, was die gemeinsame Nutzung zwischen Geräten erleichtert.

Führen Sie die folgenden Befehle aus, um das erforderliche Verzeichnis und die conf-Datei zu erstellen:

$ sudo mkdir -p /etc/X11/xorg.conf.d
$ sudo touch /etc/X11/xorg.conf.d/99-libinput.conf

Beachten Sie den Teil „99“ im Dateinamen. Es gibt die Ladereihenfolge der Dateien an, die in „xorg“ vorhanden sind.conf.d“ Ordner. Eine Datei mit der höchsten Nummer als Präfix wird zuletzt geladen und überschreibt alle Optionen, die in vorherigen Dateien angegeben wurden, falls Duplikate vorhanden sind. Durch Angabe von „99“ oder einer anderen Zahl als Präfix können Sie sicherstellen, dass sie nach anderen Dateien geladen wird.

Öffnen Sie „99-libinput“.conf“-Datei mit Root-Zugriff in Ihrem bevorzugten Texteditor. Geben Sie das unten stehende Code-Snippet ein, nachdem Sie die erforderlichen Änderungen gemäß Ihren Anforderungen vorgenommen haben.

Abschnitt "InputClass"
Kennung "Dell-Maus"
MatchProduct "PixArt Dell MS116 optische USB-Maus"
Option "NaturalScrolling" "wahr"
EndSection

Wo:

Durch die korrekte Angabe von „MatchProduct“ können Sie die Konfigurationsoptionen nur auf ein bestimmtes Gerät beschränken. In der conf-Datei vorgenommene Änderungen werden beim nächsten Neustart wirksam. Sie können im Abschnitt „InputClass“ eine beliebige Anzahl von Optionen hinzufügen. Eine Liste mit verschiedenen Optionen, die der Datei hinzugefügt werden können, ist verfügbar Hier.

Fazit

Die oben erläuterte Methode ist besonders nützlich, wenn Sie Konfigurationsregeln pro Gerät verwenden möchten. Die Standardschnittstelle für Systemeinstellungen in GNOME und KDE bietet nur einige der am häufigsten verwendeten Optionen, die für verschiedene Eingabegeräte verfügbar sind. Um erweiterte Optionen für ein Eingabegerät zu konfigurieren, haben Sie keine andere Wahl, als entweder „xinput“ zu verwenden oder eine dedizierte Konfigurationsdatei zu erstellen.

So verwenden Sie den md5sum-Befehl?
Wir haben bereits in einem anderen Tutorial über das Linux diskutiert sha1sum Befehl, um die Integrität der Datei zu überprüfen. Ebenso gibt es auf Li...
So verwenden Sie den Linux-Journalctl-Befehl?
Linux-basierte Systeme bieten mehrere Tools zum Aufzeichnen und Analysieren von Systemprotokollen. Genau wie die „systemd“, ein leistungsstarkes Tool ...
So legen Sie den Hostnamen mit dem Hostnamectl-Befehl fest?
Das Hostname ist eine Identität des Systems und wird von den Netzwerken verwendet, um das System zu durchsuchen. Das "hostnamectl” ist ein Linux-Befeh...