[Debian][Wacom EMR] Touchscreen beim X230 Tablet unter Wayland deaktivieren

syscrh

New member
Registriert
6 Jan. 2016
Beiträge
496
Hallo zusammen!

Wayland ist bekanntlich im Anmarsch und wird bei immer mehr Distributionen zum Standard. Mit Wayland ändert sich die Konfiguration des Displayservers komplett. Z. B. kann man libinput-Einstellungen nicht mehr über eine Konfigurationsdatei tätigen und ist stattdessen von seinem Desktop abhängig, dass die Entwickler dort schon alle Optionen in die grafische Oberfläche implementieren werden. Wenn nicht, hat man (momentan) Pech gehabt.
Eine Option, welche leider in den grafischen Oberflächen immer noch fehlt, ist das Deaktivieren des Touchscreens. Ich persönlich kann es beim Schreiben mit dem Stift nicht leiden, wenn ich mir Gedanken machen muss, ob ich versehentlich gleich beim Aufsetzen der Hand eine Fehleingabe tätigen werde oder ob der Stift schon nah genug am Display ist und nichts passiert. Daher deaktiviere ich grundsätzlich bei Geräten mit Digitizer den Touchscreen, wodurch das Schreiben viel natürlicher und entspannter ist.

Mit X11 ist das recht einfach und schnell erledigt: Aus /usr/share/X11/xorg.conf.d/40-libinput.conf den Block mit dem Touchscreen nach /etc/X11/xorg.conf.d/40-libinput.conf kopieren und dann dort eine Zeile 'Option "Ignore" "true"' einfügen. Speichern und den Rechner neustarten. Fertig.

Mit Wayland geht das so nicht mehr. Nach einiger Recherche bin ich auf eine Lösung gestoßen, welche mittels udev-Rules das entsprechende Gerät deaktiviert. Eine vorgefertigte Lösung für Wacom-Digitizer konnte ich aber nicht finden und daher möchte ich diese (und die Herangehensweise) mit euch teilen:

Als erstes müsst ihr euer Wacom-Gerät in /dev/ identifizieren. Beim X230 Tablet liegen die entsprechenden Dateien in /dev/input/by-id/usb-Tablet_ISD-V4-event-*. Auslesen kann man diese mit dem Befehl udevadm:
Code:
udevadm info --attribute-walk --name=/dev/input/by-id/usb-Tablet_ISD-V4-event-mouse
In der Ausgabe findet man unter anderem folgende Zeile:
Code:
ATTRS{name}=="Wacom ISDv4 E6 Pen"
Anhand des Wortes "Pen" (=Stift) erkennt man, dass es sich bei diesem Gerät um den Digitizer handelt. Der Touchscreen verbirgt sich hinter dem Gerät usb-Tablet_ISD-V4-event-if01. Also liest man auch dieses Gerät aus:
Code:
udevadm info --attribute-walk --name=/dev/input/by-id/usb-Tablet_ISD-V4-event-if01

Um für die udev-Richtlinien die entsprechenden Attribute zur eindeutigen Identifizierung des Gerätes herauszufinden vergleicht man nun "blockweise" die beiden Ausgaben. Man wird feststellen, dass diese nahezu identisch sind (kein Wunder, denn schließlich sind Touchscreen und Digitizer vom gleichen Hersteller und Typ und über die gleiche Schnittstelle angebunden). Unterschiede gibt es nur in den ersten 3-4 Blöcken. Davon kommt aber nur ein Abschnitt/Block in Frage, da dieser das Attribut ATTRS{authorized} enthält. Dieses Attribut wollen wir über die udev-Richtlinien verändern und damit den Touchscreen deaktivieren. Dies ist der entsprechende Abschnitt vom Digitizer:
Code:
looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:1.0':
    KERNELS=="2-1.5:1.0"
    SUBSYSTEMS=="usb"
    DRIVERS=="usbhid"
    ATTRS{authorized}=="1"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{bInterfaceClass}=="03"
    ATTRS{bInterfaceNumber}=="00"
    ATTRS{bInterfaceProtocol}=="00"
    ATTRS{bInterfaceSubClass}=="00"
    ATTRS{bNumEndpoints}=="01"
    ATTRS{supports_autosuspend}=="1"
Und der hier ist vom Touchscreen:
Code:
looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:1.1':
    KERNELS=="2-1.5:1.1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usbhid"
    ATTRS{authorized}=="1"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{bInterfaceClass}=="03"
    ATTRS{bInterfaceNumber}=="01"
    ATTRS{bInterfaceProtocol}=="00"
    ATTRS{bInterfaceSubClass}=="00"
    ATTRS{bNumEndpoints}=="01"
    ATTRS{supports_autosuspend}=="1"

Für die udev-Richtlinie habe ich mich entschieden das Gerät anhand von drei Attributen eindeutig zu identifizieren: KERNELS, SUBSYSTEMS und ATTRS{bInterfaceNumber}, da sich diese eindeutig zwischen Touchscreen und Digitizer unterscheiden.

Die udev-Richtlinie legt man nun an, indem man eine Textdatei unter /etc/udev/rules.d/ erstellt und dieser z. B. den Namen 40-touchscreen.rules gibt. Der Inhalt setzt sich dann aus den (in diesem Fall) drei Attributen zur Identifizierung und dem zu ändernden Attribut ATTRS{authorized} zusammen:
Code:
SUBSYSTEMS=="usb", KERNELS=="2-1.5:1.1", ATTRS{bInterfaceNumber}=="01", ATTR{authorized}="0"

Nach einem Neustart sollte der Touchscreen nun nicht mehr als Gerät auftauchen und damit deaktiviert sein. Die Stifteingabe sollte aber weiterhin ohne Probleme funktionieren.

Ich hoffe, dass ich euch mit diesem Beitrag weiterhelfen konnte und evtl. findet der ein oder andere ja passende Richtlinien für andere Geräte mit Wacom-Digitizern und mag diese mit uns teilen.
 
Danke fuer die Info. Ich habe zwar kein Tablet, aber das gehoert IMHO in die Thinkpad / Linux Wiki
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben