I have a touchscreen, but the drivers are not working properly and interfere with my mouse.

Is it possible to disable my touchscreen , so that I can work again properly?

up vote 44 down vote accepted

You can try disabling the input device with the xinput command. First see what input devices you have, just type:

xinput

And you should see a list like:

$ xinput 
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Atmel Atmel maXTouch Digitizer            id=9    [slave  pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                     id=13   [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=12   [slave  pointer  (2)]
...

Then you can disable the input device you want with this command:

xinput disable 9

Where 9 is the id of the device you want to disable. You can also use the device name between quotes.

In xinput version 1.5.99.1 , you need to do xinput set-prop 9 'Device Enabled' 0 instead. Oddly on xinput v1.6.2 the first way work.

  • 1
    This works on my lenovo yoga (2012) running ubuntu 14.04. – Jeremy Upsal Apr 28 '16 at 21:11
  • 5
    Works on Dell XPS 13 running Ubuntu 16.04. I also added this to ~/.profile to auto apply after reboots: xinput | grep 'ELAN Touchscreen' | grep -Po 'id=\d+' | cut -d= -f2 | xargs xinput disable – TalkLittle Sep 10 '16 at 19:50
  • Atmel also seems pretty common, an alternative way as @TalkLittle: xinput enable `xinput | grep Atmel | sed "s/^.*id=\([0-9]*\).*$/\1/"`. Command inside What does backticks return the id. – Pablo Bianchi Mar 11 '17 at 15:53
  • Thank you. works on dell inspiron 13 7000 series running Ubuntu 16.10 – durga Aug 2 '17 at 6:51
  • This is a gt on reat option. I prefer a way to turn i – midopa Jul 22 at 20:59

The xinput solution did not work for me. I instead followed the instructions in this thread. This will disable it at boot time.

  1. Edit /usr/share/X11/xorg.conf.d/10-evdev.conf
  2. Add Option "Ignore" "on" to the end of the section with the touchscreen identifier
  3. Reboot

enter image description here

  • For the record (Google), I have a Samsung Series 7 and my touch screen was listed as ELAN Touchscreen in xinput.
  • JFTR too, in this question says the power consumption difference is mostly negligible.
  • Thanks, it worked on my XPS 13 9343 (2015), the touch screen was listed evdev touchscreen. – hg8 Jul 9 '15 at 18:59
  • 2
    I did that on a Dell XPS and it disabled the screen completely. After booting the screen is just black. Booted in recovery mode, removed the line and everything went back to normal. – pieroxy Jan 6 '16 at 15:46
  • 1
    This prevented my laptop for rebooting into X windows. Not a big deal to remove that setting, but something newbies want to check they can do before trying it. – Davide Mar 2 '16 at 17:28
  • 2
    Also disabled the touchpad on my Sony Vaio. Setting the driver value to "libinput" did the trick though – Jason Pawlak Mar 9 '17 at 22:26
  • 1
    On Ubuntu 17.10, I couldn't find the file you listed but there was /usr/share/X11/xorg.conf.d/40-libinput.conf. I changed a similar block in this file and at next restart I guess I'll find out how it went! – Oliv Utilo Oct 22 '17 at 12:40

Edit file the file with

sudo nano /usr/share/X11/xorg.conf.d/10-evdev.conf

Change MatchIsTouchscreen from "on" to "off" in the Touchscreen section so it looks like this:

Section "InputClass"
    Identifier "evdev touchscreen catchall"
    MatchIsTouchscreen "off"
    MatchDevicePath "/dev/input/event*"
    Driver "evdev"
    EndSection

Save, Name and Exit

Touchscreen is disabled and no longer detected in xinput list.

  • This worked on my Lenovo ideacentre Flex 20, which had a cracked screen. – Merlin04 Aug 5 '17 at 23:59
  • This worked for Dell XPS 15 and Linux Mint 18. I think this is safer than using Option = ignore from the answer, as it doesn't disable the device just not doesn't treat it as a touch screen. – matt wilkie Jan 12 at 18:46
  • This isn't working anymore. I updated to Ubuntu 18.04, and the 10-evdev.conf file is gone. I tried recreating it, but it didn't work. – Merlin04 May 8 at 0:09

If your touchscreen is a touch panel screen like a USB monitor, you can add default kernel driver usbtouchscreen into modprobe's blacklist file (/etc/modprobe.d/blacklist.conf) and use your custom driver such as touchkit or evtouch.

As id for xinput changes on reboot, I added a simple one-line screen on session load:

#!/bin/bash
xinput --list | awk '/Atmel Atmel maXTouch Digitizer/ {print $7}' | awk '{split($0,a,"="); print a[2]}' | xargs xinput disable

My device's name is "Atmel Atmel maXTouch Digitizer", change that with your device (use xinput --list for device name).

protected by Community Sep 21 '15 at 6:50

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.