Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
xinput [2020/09/15 17:27] root angelegt |
xinput [2020/09/15 21:19] (aktuell) root [Persistent machen der Einstellungen] |
||
|---|---|---|---|
| Zeile 15: | Zeile 15: | ||
| * die meisten Befehle benötigen eine Angabe für welches Device der Befehl ausgeführt werden soll | * die meisten Befehle benötigen eine Angabe für welches Device der Befehl ausgeführt werden soll | ||
| * in der Regel Name oder Device ID | * in der Regel Name oder Device ID | ||
| + | |||
| <sxh bash> | <sxh bash> | ||
| xinput | xinput | ||
| </ | </ | ||
| + | |||
| + | Hinweis: Einige Devices können 2 mal gelistet sein: | ||
| + | <sxh bash> | ||
| + | | ||
| + | ⎜ ↳ ELECOM TrackBall Mouse HUGE TrackBall | ||
| + | ⎜ ↳ SynPS/2 Synaptics TouchPad | ||
| + | ⎣ Virtual core keyboard | ||
| + | ↳ ELECOM TrackBall Mouse HUGE TrackBall | ||
| + | </ | ||
| + | |||
| + | Hier taucht " | ||
| + | Die ID existiert immer nur für ein Device, der Name kann aber mehrfach auftreten.\\ | ||
| + | Bei Nutzung des Namens muss ggf. dann " | ||
| + | \\ \\ | ||
| + | Hinweis: Die IDs sind temporär und können sich nach dem Neustart von X oder dem System oder dem Ein-und Ausstecken des Devices oder bei Nutzung eines Tastaturumschalters ändern. | ||
| + | ====== Listen der gesetzten Optionen für ein Device ======= | ||
| + | |||
| + | * man braucht die ID oder den Namen (siehe vorhehrgehende Sektion) | ||
| + | |||
| + | <sxh bash> | ||
| + | |||
| + | | ||
| + | | ||
| + | Device Enabled (143): 1 | ||
| + | Coordinate Transformation Matrix (145): | ||
| + | libinput Natural Scrolling Enabled (286): 0 | ||
| + | libinput Natural Scrolling Enabled Default (287): 0 | ||
| + | libinput Scroll Methods Available (288): 0, 0, 1 | ||
| + | libinput Scroll Method Enabled (289): 0, 0, 1 | ||
| + | libinput Scroll Method Enabled Default (290): 0, 0, 0 | ||
| + | libinput Button Scrolling Button (291): 9 | ||
| + | libinput Button Scrolling Button Default (292): 2 | ||
| + | libinput Middle Emulation Enabled (293): 1 | ||
| + | libinput Middle Emulation Enabled Default (294): | ||
| + | libinput Rotation Angle (295): | ||
| + | libinput Rotation Angle Default (296): | ||
| + | libinput Accel Speed (297): | ||
| + | libinput Accel Speed Default (298): | ||
| + | libinput Accel Profiles Available (299): | ||
| + | libinput Accel Profile Enabled (300): | ||
| + | libinput Accel Profile Enabled Default (301): | ||
| + | libinput Left Handed Enabled (302): | ||
| + | libinput Left Handed Enabled Default (303): | ||
| + | libinput Send Events Modes Available (267): | ||
| + | libinput Send Events Mode Enabled (268): | ||
| + | libinput Send Events Mode Enabled Default (269): | ||
| + | Device Node (270): | ||
| + | Device Product ID (271): | ||
| + | libinput Drag Lock Buttons (304): | ||
| + | libinput Horizontal Scroll Enabled (305): | ||
| + | </ | ||
| + | |||
| + | |||
| + | ====== Ermitteln von Button-Nummern ======= | ||
| + | |||
| + | * [[xev]] | ||
| + | |||
| + | |||
| + | ====== Setzen von Optionen für ein Device ======= | ||
| + | |||
| + | * vermutlich sieht man alle möglichen Optionen für ein Device über xinput list-props | ||
| + | * ansonsten kann man auch in man libinput unter " | ||
| + | |||
| + | < | ||
| + | xinput --set-prop < | ||
| + | </ | ||
| + | |||
| + | Beispiel: | ||
| + | <sxh bash> | ||
| + | xinput --set-prop " | ||
| + | xinput --set-prop " | ||
| + | </ | ||
| + | |||
| + | Obiges Beispiel nutzt den Device-Namen zum addressieren des Devices. Da der Name einmal von einem virtuellen Keyboard und einmal von einem Pointer verwendet wird muss man pointer: vor den Namen schreiben. \\ \\ | ||
| + | Der erste Befehl definiert den Button 9 als " | ||
| + | Der zweite Befehl aktiviert das Scrollen per Tastendruck und bewegen des Eingabegerätes. | ||
| + | |||
| + | |||
| + | **Hinweis**: | ||
| + | |||
| + | **Hinweis: | ||
| + | |||
| + | |||
| + | ====== Persistent machen der Einstellungen ====== | ||
| + | |||
| + | * es gibt mehrere Wege | ||
| + | * über Startscripte xinput aufzurufen (oder über Autostart des Desktop-Environments) | ||
| + | * ist der einfachste | ||
| + | * aber beim abziehen und wieder anstecken oder späterem anstecken wird das Device nicht konfiguriert mit den Einstellungen | ||
| + | |||
| + | Im folgenden der Weg über eine xorg.conf bzw. eine Datei unter / | ||
| + | |||
| + | * es können nicht die Namen der Einstellungen genommen werden die in xinput genutzt werden | ||
| + | * man muss sich die Einstellung aus "man xorg.conf" | ||
| + | * oder (wenn es eine Option von libinput ist) aus "man libinput" | ||
| + | * die Optionen heißen ähnlich, aber leicht anders als in xinput | ||
| + | |||
| + | Eine Datei / | ||
| + | < | ||
| + | Section " | ||
| + | Identifier | ||
| + | MatchProduct | ||
| + | MatchIsPointer " | ||
| + | Driver " | ||
| + | Option | ||
| + | Option | ||
| + | EndSection | ||
| + | </ | ||
| + | |||
| + | * Identifier ist ein frei wählbarer Name | ||
| + | * MatchProduct gibt an für welches Produkt die Konfig gilt - kann ggf. weggelassen werden, dann für alle | ||
| + | * der name ist der aus xinput | ||
| + | * MatchIsPointer ist ggf. wichtig wenn man das Device in xinput zweimal hat (einmal als Keyboard und einmal als Pointer) um zu unterscheiden welches der beiden Devices man konfiguriert | ||
| + | * Driver " | ||
| + | * Option xyz sind wie oben beschrieben aus der man-Page von xorg.conf oder libinput | ||
| + | * das Schema ist " | ||
| + | |||
| + | ====== Beispiele ======= | ||
| + | |||
| + | ===== Scrollen per Taste + bewegen des Trackballs/ | ||
| + | |||
| + | |||
| + | * man kann ein Scrollrad emulieren | ||
| + | * man drückt eine Taste an der Maus/dem Trackball und bewegt den Trackball oder die Maus horizontal - die Bewegung wird als das Bewegen eines Scrollrades interpretiert | ||
| + | |||
| + | <xsh bash> | ||
| + | xinput --set-prop " | ||
| + | xinput --set-prop " | ||
| + | </ | ||
| + | |||
| + | Obiges Beispiel setzt Button 9 (zu ermitteln via xev) als Scroll-Button (Button der gedrückt werden muss damit die Bewegung als Scrollen erkannt wird) und aktiviert das Scrollen per Button + Bewegung im zweiten Schritt als (zusätzliche) Scroll-Methode. | ||
| + | \\ \\ \\ | ||
| + | Ein xorg.conf-File (/ | ||
| + | < | ||
| + | Section " | ||
| + | Identifier | ||
| + | MatchProduct | ||
| + | MatchIsPointer " | ||
| + | Driver " | ||
| + | Option | ||
| + | Option | ||
| + | EndSection | ||
| + | </ | ||