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

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

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

答案1

按照 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

有以下信息

SUBSYSTEM=="usb", ATTRS{idVendor}=="04f3", ATTRS{idProduct}=="20d0", ATTR{authorized}="0"

您可以通过运行来找到idVendoridProduct

cat /proc/bus/input/devices

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

udevadm control --reload-rules && udevadm trigger

答案2

如果有多个多点触控设备,上述 hid_multitouch 解决方案会禁用所有多点触控设备。但是,如果您的设备不是 USB(我认为),udev 路由就会出现问题。因此,对我而言,有效的方法是将设备与驱动程序解除绑定,而不是卸载整个驱动程序。

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

ls /sys/bus/hid/drivers/hid-multitouch/

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

您可能有多个设备。我刚刚通过反复试验找到了正确的设备。一旦您知道了,您就可以使用以下命令将其与驱动程序解除绑定:

echo "0018:06CB:19AC.0001">  /sys/bus/hid/drivers/hid-multitouch/unbind

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

答案3

谷歌的力量来拯救我。我按照 这里我能够将触摸屏驱动程序列入黑名单。根据说明,我创建了一个名为的hid_multitouch.conf文件/etc/modprobe.d

我在文件里放了:

# Use the following syntax
# blacklist driver-name
blacklist hid_multitouch

保存,重新启动,触摸屏便不再出现故障。

答案4

我的 Microsoft Surface Pro 3 也遇到了同样的问题,屏幕坏了。我已经测试了上述所有解决方案。非常感谢贡献者。

相关内容