How do I disable touch screen on Ubuntu 17.10 permanently?
Solution 1:
You can add the below to one of your startup scripts
xinput disable `xinput --list | grep -i "touch " | sed 's/id=//g' | cut -f2`
The opposite will re-enable it
xinput enable `xinput --list | grep -i "touch " | sed 's/id=//g' | cut -f2`
Note that there is a space after "touch". This is to prevent the command from picking up the touchpad on your laptop!
Solution 2:
The answer below works, but had some additional problems, such as disabling the touchpad. An alternate and IMO better solution can be found at https://askubuntu.com/a/986453/283721
I have had to turn off my touchscreen as well, for another reason.
If you are using xorg, you can do this on a temporary basis using xinput
first, identify the touchscreen using xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech M315/M235 id=9 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=13 [slave pointer (2)]
⎜ ↳ ELAN Touchscreen id=14 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Dell WMI hotkeys id=11 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
↳ Laptop_Integrated_Webcam_HD: In id=10 [slave keyboard (3)]
In my case the touchscreen would appear as "ELAN Touchscreen" in the first section of the output. I could then use `xinput disable "ELAN Touchscreen" which would disable the touchscreen until either the next reboot, or putting the computer to sleep and awakening it.
A more permanent solution for me, has been to blacklist the module "hid_multitouch"
I have created a file named /etc/modprobe.d/hid_multitouch.conf
it's contents are as follows:
# Use the following syntax
# blacklist driver-name
blacklist hid-multitouch
The touchscreen driver for your system may not be the same as for mine - you can test this using sudo modprobe -r hid_multitouch
which will for a short period disable your touchscreen - I found that it reloaded within 5 or 6 seconds.
I was able to determine that hid_mutlitouch
was the driver used for me system by examining dmesg | grep "device name" -A3 -B3
which, amongst other things, produced the output
[21896.624869] input: ELAN Touchscreen as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/0003:04F3:0034.000A/input/input18
[21896.625587] hid-multitouch 0003:04F3:0034.000A: input,hiddev1,hidraw2: USB HID v1.10 Device [ELAN Touchscreen] on usb-0000:00:1a.0-1.2/input0