如何在使用 Wayland 时禁用触摸屏?

Jos*_*ter 9 gnome wayland touchscreen

我正在使用 Ubuntu Gnome 17.04。我的触摸屏出现故障;我认为这是一个硬件问题。我可以在使用 Xorg 登录 Gnome 时禁用我的触摸屏,但是当我使用 Wayland 登录时我无法弄清楚。有什么建议吗?谢谢!- 乔希

小智 13

按照 JNixus 在 reddit 上的回答中的步骤给了我结果:触摸屏被禁用,触摸板仍然有效:https ://www.reddit.com/r/Dell/comments/76jm9x/dell_xps_9343_linux_wayland_touchscreen_help/

使用禁用单个 USB 设备的功能,我们只需要创建一个 UDEV 规则。在中创建文件

/etc/udev/rules.d/80-touchscreen.rules
Run Code Online (Sandbox Code Playgroud)

有以下信息

SUBSYSTEM=="usb", ATTRS{idVendor}=="04f3", ATTRS{idProduct}=="20d0", ATTR{authorized}="0"
Run Code Online (Sandbox Code Playgroud)

你可以找到idVendoridProduct通过运行

cat /proc/bus/input/devices
Run Code Online (Sandbox Code Playgroud)

您无需重新启动即可重新加载规则

udevadm control --reload-rules && udevadm trigger
Run Code Online (Sandbox Code Playgroud)


小智 6

如果有多个多点触控设备,上面的 hid_multitouch 解决方案将禁用所有多点触控设备。但如果你的设备不是 USB(我认为),那么 udev 路由就是一个问题。所以对我有用的是解除设备与驱动程序的绑定,而不是卸载整个驱动程序。

您可以使用以下命令找到链接到 hid-multitouch 驱动程序的设备

ls /sys/bus/hid/drivers/hid-multitouch/
Run Code Online (Sandbox Code Playgroud)

这将显示几个文件和文件夹,但实际的设备 ID 是字符和数字的组合,如下所示:0018:06CB:19AC.0001

您可能有多个设备。我只是通过反复试验才找到了正确的方法。一旦你知道了,你可以通过以下方式解除它与驱动程序的绑定:

echo "0018:06CB:19AC.0001">  /sys/bus/hid/drivers/hid-multitouch/unbind
Run Code Online (Sandbox Code Playgroud)

这将(暂时)禁用驱动程序。然后你可以使用 rc-local 或专用的 systemd 服务来使其永久化。您不能在.bashrc类似的用户空间脚本中执行此操作,因为您需要成为 root 才能执行此操作。


Jos*_*ter 4

谷歌的力量来救援。我按照此处的说明进行操作 ,并且能够将触摸屏驱动程序列入黑名单。按照说明,我创建了一个名为 的hid_multitouch.conf文件/etc/modprobe.d

在我放入的文件中:

# Use the following syntax
# blacklist driver-name
blacklist hid_multitouch
Run Code Online (Sandbox Code Playgroud)

保存,重新启动,触摸屏就不再出问题了。


小智 0

按照上面链接文章中的说明进行操作。该解决方案不起作用,但是用户Raphael提供了一条有用的评论,为我禁用了触摸屏并启用了触摸板。

脚步:

1)编辑/etc/rc.local

2)添加以下行modprobe -r usbhid

3)保存并重启