Hi,
I am struggling to get the touchscreen deactivated on a Thinkpad Yoga 12. The simple reason is that I get “ghost” touches which sometimes comes even hundreds of times per minute, mostly bringing the mouse cursor jumping near to the screen border. Ideally I want those be gone, but on the device I don’t need the touchscreen that much any more.
Moreover, as I am not sure what causes this presses and the Laptop has a pen input with a passive Wacom too which may be the actual cause and not the touchscreen, I want to deactivate that too.
The laptop was installed around half a year ago with the at the time newest Manjaro KDE and regularly updated via package manager. I am using a Wayland session on KDE.
I already tried with those methods (in parallel, all used the same time):
- Disabling via udev rules:
A 80-touchscreen.rules file is therefore in /etc/udev/rules.d/:
SUBSYSTEM=="usb", ATTRS{idVendor}=="06cb", ATTRS{idProduct}=="7244", ATTRS{authorized}="0"
SUBSYSTEM=="usb", ATTRS{idVendor}=="06cb", ATTRS{idProduct}=="0000", ATTRS{authorized}="0"
SUBSYSTEM=="usb", ATTRS{idVendor}=="06cb", ATTRS{authorized}="0"
SUBSYSTEM=="usb", ATTRS{idVendor}=="056a", ATTRS{authorized}="0"
As seen, I tried to deactivate the components indepentenly for the touchscreen, and afterwards added also a vendor-specific blocking for the Synaptics/Wacom devices (the last two lines).
- Using xorg.conf files, but here I could only set MatchTouchscreen to “off”. When I add Option “Ignore” “on” to the sections for Touchscreen and pointer, all other input hardware is deactivated too (namely touchpad, keyboard and even USB mice/keyboards). I think this is already a problem here but I don’t know why this Option is going over all hardware as it is inside the Section as in the post, see /usr/share/X11/xorg.conf.d/10-evdev.conf
#
# Catch-all evdev loader for udev-based systems
# We don't simply match on any device since that also adds accelerometers
# and other devices that we don't really want to use. The list below
# matches everything but joysticks.
Section "InputClass"
Identifier "evdev pointer catchall"
MatchIsPointer "off"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
EndSection
Section "InputClass"
Identifier "evdev keyboard catchall"
MatchIsKeyboard "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
EndSection
Section "InputClass"
Identifier "evdev touchpad catchall"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
EndSection
Section "InputClass"
Identifier "evdev tablet catchall"
MatchIsTablet "off"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
EndSection
Section "InputClass"
Identifier "evdev touchscreen catchall"
MatchIsTouchscreen "off"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
EndSection
and /usr/share/X11/xorg.conf.d/40-libinput.conf
# Match on all types of devices but joysticks
#
# If you want to configure your devices, do not copy this file.
# Instead, use a config snippet that contains something like this:
#
# Section "InputClass"
# Identifier "something or other"
# MatchDriver "libinput"
#
# MatchIsTouchpad "on"
# ... other Match directives ...
# Option "someoption" "value"
# EndSection
#
# This applies the option any libinput device also matched by the other
# directives. See the xorg.conf(5) man page for more info on
# matching devices.
Section "InputClass"
Identifier "libinput pointer catchall"
MatchIsPointer "off"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
EndSection
Section "InputClass"
Identifier "libinput keyboard catchall"
MatchIsKeyboard "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
EndSection
Section "InputClass"
Identifier "libinput touchpad catchall"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
EndSection
Section "InputClass"
Identifier "libinput touchscreen catchall"
MatchIsTouchscreen "off"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
EndSection
Section "InputClass"
Identifier "libinput tablet catchall"
MatchIsTablet "off"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
EndSection
for this.
- Lastly I tried the deactivation via xinput, but the only noticeable difference is via either
xinput disable 7
or
xinput set-prop 7 120 0
but this only deactivates the pointer within firefox, the other ids do not seem to disable any touch.
Additionally, any setting via input triggers the warning:
WARNING: running xinput against an Xwayland server. See the xinput man page for details.
But of course as I am using wayland, this does not seem a problem.
Is there any error in this approach? Or is it done completely different under Wayland?