在 Linux 上禁用触摸屏

在 Linux 上禁用触摸屏

我正在尝试禁用我的 Dell inspiron 15 7000 上的触摸屏。当我运行 xinput --list 时,我得到了此列表。

⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ 2.4G Mouse                                id=10   [slave  pointer  (2)]
⎜   ↳ DELL07EC:00 06CB:7E92 Touchpad            id=13   [slave  pointer  (2)]
⎜   ↳ ELAN2097:00 04F3:2504                     id=14   [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=20   [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)]
    ↳ Sleep Button                              id=9    [slave  keyboard (3)]
    ↳ Integrated_Webcam_HD: Integrate           id=11   [slave  keyboard (3)]
    ↳ Integrated_Webcam_HD: Integrate           id=12   [slave  keyboard (3)]
    ↳ ELAN2097:00 04F3:2504 Pen                 id=15   [slave  keyboard (3)]
    ↳ Intel Virtual Button driver               id=16   [slave  keyboard (3)]
    ↳ Intel HID events                          id=17   [slave  keyboard (3)]
    ↳ Dell WMI hotkeys                          id=18   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard  

请问其中哪一个(id)是用于触摸屏的?

答案1

钒是正确的,它的 ID 是 13。要禁用,请输入:

xinput disable 13

启用:

xinput enable 13

要永久禁用,您需要在启动时添加此项:

crontab -e

添加行:

@reboot  xinput disable $(xinput --list | grep DELL07EC | head -n 1 | awk -F '           ' '{print $2}' | awk '{print $1}' | sed s/id=//)

答案2

在 Linux 上禁用触摸屏

我有一台戴尔 Inspiron 5557 笔记本电脑,触摸屏坏了。光标每隔几秒钟就会随机跳动和点击,导致 BIOS 实用程序和图形界面无法使用,下面是我禁用它的方法:

解决方案:

  • 按 Alt+F3 打开控制台;
  • 编辑/etc/rc.local以禁用触摸屏设备;
  • 使 /etc/rc.local 可执行并重新启动。
$ sudo nano /etc/rc.local
  #!/bin/sh
  ls -1 /sys/bus/hid/drivers/hid-multitouch | grep 2A94:5241 > /sys/bus/hid/drivers/hid-multitouch/unbind
$ sudo chmod +x /etc.rc.local
$ reboot

如何找到正确的设备:

如果您的笔记本电脑与我的不完全相同,您可能需要找到正确的 USB 设备来禁用它:

$ lsusb | grep -i touch
  Bus 001 Device 006: ID 2a94:5241 G2Touch Multi-Touch(...)
$ cd /sys/bus/hid/drivers/hid-multitouch
$ ls -1
  0003:2A94:5241.0006
  0018:06CB:7621.0001
  bind
  (...)

然后测试一下:

$ sudo bash
$ cd /sys/bus/hid/drivers/hid-multitouch
$ echo "0003:2A94:5241.0006" > unbind
$ killall -9 Xorg

在我的例子中,当我禁用该设备时,gnome 变得无响应。这就是为什么我killall -9 Xorg在上面的例子中添加了一个。

如果您的设备是 AAAA:BBBB:CCCC:DDDD,请在 /etc/rc.local 脚本中使用 AAAA:BBBB:CCCC 或 BBBB:CCCC 作为设备 ID。最后 4 位数字对我来说经常变化。

相关内容