如何禁用触摸屏驱动程序?


41

我有触摸屏,但驱动程序无法正常工作,并且会干扰我的鼠标。

是否可以禁用触摸屏,以便我可以再次正常工作?

Answers:


52

您可以尝试使用xinput命令禁用输入设备。首先查看您拥有哪些输入设备,只需键入:

xinput

而且您应该看到类似以下的列表:

$ 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)]
...

然后,您可以使用以下命令禁用所需的输入设备:

xinput disable 9

其中9是要禁用的设备的ID。您也可以在引号之间使用设备名称。

在xinput版本1.5.99.1中,您需要这样做xinput set-prop 9 'Device Enabled' 0。在xinput v1.6.2上奇怪的是第一种方法。


1
这适用于运行ubuntu 14.04的联想瑜伽(2012)。
Jeremy Upsal,2016年

7
适用于运行Ubuntu 16.04的Dell XPS 13。我也将其添加到~/.profile重新启动后自动应用:xinput | grep 'ELAN Touchscreen' | grep -Po 'id=\d+' | cut -d= -f2 | xargs xinput disable
TalkLittle

Atmel似乎也很常见,作为@TalkLittle:的替代方法xinput enable `xinput | grep Atmel | sed "s/^.*id=\([0-9]*\).*$/\1/"`。内部命令反引号返回ID。
巴勃罗

谢谢。可以在运行Ubuntu 16.10的dell inspiron 13 7000系列上工作
durga

这是gt on reat选项。我更喜欢让我转弯的方式
Midopa

27

xinput解决方案对我不起作用。相反,我遵循了该线程中的指示。这将在启动时将其禁用。

  1. 编辑 /usr/share/X11/xorg.conf.d/10-evdev.conf
  2. Option "Ignore" "on"touchscreen标识符添加到本节的末尾
  3. 重启

在此处输入图片说明

  • 备案(谷歌),我有一个三星Series 7和我的触摸屏被列为ELAN Touchscreenxinput
  • JFTR也是如此,在这个问题上说功耗差异几乎可以忽略不计。

谢谢,它适用于我的XPS 13 9343(2015),触摸屏已列为evdev触摸屏。
hg8

2
我是在Dell XPS上执行此操作的,它完全禁用了屏幕。引导后,屏幕只是黑色。以恢复模式启动,删除了线路,一切恢复正常。
Pieroxy

1
这阻止了我的笔记本电脑重新启动进入X窗口。删除该设置不是什么大问题,但是新手想检查一下可以做些什么,然后再尝试。
Davide

2
还禁用了索尼Vaio上的触摸板。将驱动程序值设置为“ libinput”可以解决问题
Jason Pawlak

2
在Ubuntu 17.10上,我找不到您列出的文件,但是有/usr/share/X11/xorg.conf.d/40-libinput.conf。我在该文件中更改了一个类似的块,然后在下次重新启动时,我想知道它是如何进行的!
Oliv Utilo

4

编辑文件

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

在“触摸屏”部分中将MatchIsTouchscreen从“打开”更改为“关闭”,如下所示:

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

保存,命名和退出

触摸屏已禁用,并且在xinput列表中不再检测到。


这可以在我的Lenovo ideacentre Flex 20(屏幕破裂)上使用。
Merlin04年

这适用于Dell XPS 15和Linux Mint18。我认为这比Option = ignore从答案中使用更为安全,因为它不会禁用设备,只是不会将其视为触摸屏。
马特·威尔基

这不再起作用了。我更新到Ubuntu 18.04,并且10-evdev.conf文件不见了。我尝试重新创建它,但是没有用。
Merlin04

@ Merlin04您是否检查了libinput文件?有一个提到这个问题的答案:askubuntu.com/a/1038259/167115
mchid

0

如果您的触摸屏是USB监视器之类的触摸屏,则可以将默认内核驱动程序添加usbtouchscreen到modprobe的黑名单文件(/etc/modprobe.d/blacklist.conf)中,并使用自定义驱动程序,例如touchkitevtouch


0

由于xinput的ID在重新启动时发生了变化,因此我在会话加载时添加了一个简单的单行屏幕:

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

我的设备名称为“ Atmel Atmel maXTouch Digitizer”,请随您的设备进行更改(xinput --list用于设备名称)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.