my Touchscreen is broken and I need to deactivate it, because it makes 'ghost clicks'. In several hours tried out every possible solution I found on Google - but nothing helped to deactivate it. Now I'm very lost. It would be awesome if you could help me out! What did I do wrong? Or what else shall I try out to deactivate the TouchScreen?
=> EDIT&ANSWERED The solution that worked for me has been described in this post. It's been the UDEV-rule for the USB-device <=
I did the following and all failed:
- xinput - deactivating
- xorg.conf.d entry - not loading drivers
- udev-rule
- deactivating hid_multitouch
Details about my computer: Thinkpad T440s with Ubuntu 21.10, 64-bit. Wayland Windowmanagment. Gnome 40.4.0. Drop me a message if you need to know more.
xinput:
WARNING: running xinput against an Xwayland server. See the xinput man page for details.
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ xwayland-pointer:17 id=6 [slave pointer (2)]
⎜ ↳ xwayland-relative-pointer:17 id=7 [slave pointer (2)]
⎜ ↳ xwayland-touch:17 id=9 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ xwayland-keyboard:17 id=8 [slave keyboard (3)]
I do not know, whether ID 9 is the TouchPad or TouchScreen. Deactivating did not help.
I tried xorg.conf.d as well.
I did it in steps, but in the end I tried the maximum: I edited every config-file in /usr/share/X11/xorg.conf.d/
and changed to MatchIsTouchscreen "off"
per TouchScreen and added Option "Ignore" "on"
. Furthermore I created a new file: /usr/share/X11/xorg.conf.d/98-disabletouch.conf
# from file Nr. 40
Section "InputClass"
Identifier "libinput touchscreen catchall"
MatchIsTouchscreen "off"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
Option "Ignore" "on"
EndSection
from file Nr. 70
Section "InputClass"
Identifier "Wacom USB touchscreen class"
MatchUSBID "056a:"
MatchDevicePath "/dev/input/event"
MatchIsTouchscreen "off"
Driver "wacom"
Option "Ignore" "on"
EndSection
Section "InputClass"
Identifier "Wacom touchscreen class"
MatchProduct "Wacom|WACOM|PTK-540WL|ISD-V4"
MatchDevicePath "/dev/input/event*"
MatchIsTouchscreen "off"
Driver "wacom"
Option "Ignore" "on"
EndSection
Dell Canvas 27 (touch part is an Advanced Silicon, pen part a Wacom)
Section "InputClass"
Identifier "Dell Canvas 27 Touch"
MatchUSBID "2575:0204"
MatchDevicePath "/dev/input/event*"
MatchIsTouchscreen "off"
Driver "wacom"
Option "Ignore" "on"
EndSection
As this did not work I copied the file to /etc/X11/xorg.conf.d/99-disabletouchscreen.conf
as well.
File list: ls /usr/share/X11/xorg.conf.d/
10-amdgpu.conf 10-quirks.conf 10-radeon.conf 40-libinput.conf 70-wacom.conf 98-disabletouch.conf
Full of despair I also created a udev-rule in a new file: sudo gedit /etc/udev/rules.d/94-disabletouchscreen.conf
SUBSYSTEM=="usb", ATTRS{idVendor}=="04f3", ATTRS{idProduct}=="0224", ATTR{authorized}="0"
This is based on the following output for cat /proc/bus/input/devices
I: Bus=0003 Vendor=04f3 Product=0224 Version=0110
N: Name="ELAN Touchscreen"
P: Phys=usb-0000:00:1d.0-1.5/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.5/1-1.5:1.0/0003:04F3:0224.0001/input/input33
U: Uniq=
H: Handlers=mouse0 event5
B: PROP=0
B: EV=1b
B: KEY=400 0 0 0 0 0
B: ABS=10000000003
B: MSC=10
I: Bus=0003 Vendor=04f3 Product=0224 Version=0110
N: Name="ELAN Touchscreen"
P: Phys=usb-0000:00:1d.0-1.5/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.5/1-1.5:1.0/0003:04F3:0224.0001/input/input34
U: Uniq=
H: Handlers=event6
B: PROP=0
B: EV=9
B: ABS=10000000000
I: Bus=0003 Vendor=04f3 Product=0224 Version=0110
N: Name="ELAN Touchscreen"
P: Phys=usb-0000:00:1d.0-1.5/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.5/1-1.5:1.0/0003:04F3:0224.0001/input/input35
U: Uniq=
H: Handlers=event17
B: PROP=0
B: EV=100001
Last but not least I tried to deactivate hid_multitouch. Output for: lsmod | grep touch
hid_multitouch 28672 0
hid 135168 3 usbhid,hid_multitouch,hid_generic
Output for: modinfo hid_multitouch | head
filename: /lib/modules/5.13.0-37-generic/kernel/drivers/hid/hid-multitouch.ko
license: GPL
description: HID multitouch panels
author: Benjamin Tissoires <benjamin.tissoires@gmail.com>
author: Stephane Chatty <chatty@enac.fr>
srcversion: A626AE4AE4D9CF6F069DB68
alias: hid:b*g0004v*p*
alias: hid:b*g0002v*p*
alias: hid:b*g*v000018D1p00005028
alias: hid:b0003g0002v00001477p00001025
BUT: modprobe -r hid_multitouch
had no effect like deactivating the Touchscreen (or Touchpad). Though afterwards the output for lsmod | grep touch
was empty, of course. Because it did not work I did not deactivate hid_multitouch permanently.
Now I'm lost and in despair, because I did not find further google solutions after hours of trial and error. I do not want to replace the display/TouchScreen, because it really costs a lot. And the display is working very well, just the Touch Screen makes it almost impossible to work with the laptop.
Do you have an idea for anything else I can try? Or did I do something wrong? I would be very grateful for any advice!
All the best, Manuel
New info:
I found the following - not sure whether this is supposed to be that way: ls -l /sys/bus/hid/drivers/hid-multitouch/
says:
lrwxrwxrwx 1 root root 0 Mär 27 19:04 0003:04F3:0224.0001 -> ../../../../devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.5/1-1.5:1.0/0003:04F3:0224.0001
--w------- 1 root root 4096 Mär 27 19:04 bind
lrwxrwxrwx 1 root root 0 Mär 27 19:04 module -> ../../../../module/hid_multitouch
--w------- 1 root root 4096 Mär 27 19:04 new_id
--w------- 1 root root 4096 Mär 27 19:03 uevent
--w------- 1 root root 4096 Mär 27 19:04 unbind
I was wondering about the first folder, because there is no further entry for any other device. ls
lists the following content for the folder:
country driver hidraw input modalias power quirks report_descriptor subsystem uevent
Not sure whether it's relevant, but FYI.
sudo echo "0003:04F3:0224.0001" > /sys/bus/hid/drivers/hid-multitouch/unbind
disable the touch screen? If so, I’ll write an answer to show you how to make this permanent – matigo Mar 25 '22 at 22:19bash: /sys/bus/hid/drivers/hid-multitouch/unbind: Keine Berechtigung
(no authorization). I tried to do the command withsudo su
(and then without sudo). No complaints about authorization - but no effect either. Thanks for helping - do you have further suggestions? – ManuelW Mar 27 '22 at 09:42udev-rule in /lib/udev/rules.d
. In the description it sounds like an odd/old solution. (Further answers are only necessary, if I should rather use the other solution instead of the odd way) Which file is correct?/sys/bus/usb/devices/
=> what follows?/usb1/1-1/1-1.5/
looks like having the correct ids (see above). Is itecho disabled | sudo tee /sys/bus/usb/devices/usb1/power/wakeup
? Or more than just./usb1/
? I'm afraid to deactivate too many devices. – ManuelW Mar 29 '22 at 21:23echo 0 > /sys/bus/usb/devices/1-1.5/authorized
. This will deauthorize the one device from being used. – matigo Mar 29 '22 at 22:26