当 Wacom 触摸屏在某些程序中不再支持左键单击时,该如何修复?

当 Wacom 触摸屏在某些程序中不再支持左键单击时,该如何修复?

在一些项目中(特别是林晓琴面板和工匠烘焙范围),点击触摸屏不再产生与鼠标左键单击相同的效果。相反,它产生的效果相当于按下鼠标左键并且不释放它。如何解决此问题?

请注意,上述两个程序都是Qt5 个程序。但是,该问题并不影响我拥有的所有 Qt5 程序。

我在使用联想 ThinkPad X201 平板电脑时遇到了这个问题,当时使用的是 Ubuntu 18.10 和 LXQt 桌面环境,在 Ubuntu 19.04 中使用默认的 Ubuntu(基于 Gnome)桌面环境时也遇到了这个问题。我没有在早期版本的 Ubuntu 中尝试上述程序,所以我不知道这个问题是否存在。

答案1

修复它

可以使用以下命令修复该问题:

  • 对于装有 Ubuntu 19.04 的 ThinkPad X201 平板电脑

    xsetwacom --set "Serial Wacom Tablet WACf00c touch" Gesture off
    
  • 对于装有 Ubuntu 18.10 的 ThinkPad X201 平板电脑

    xsetwacom --set "Wacom Serial Penabled 2FG Touchscreen Finger touch" 
    Gesture off
    
  • 对于其他触摸屏设备

    找出您的触摸屏的产品名称xinput --list并在上面的命令中提供它。

使修复永久化

要在每次启动 X11 时自动应用上述命令的配置更改,请创建一个/etc/X11/xorg.conf.d/81-local-touchscreen-tweaks.conf包含下面显示内容的文件,然后重新启动 X 服务器以测试效果。

  • 对于装有 Ubuntu 19.04 的 ThinkPad X201 平板电脑

    # Tweaks for the Wacom touchscreen on a ThinkPad X201 Tablet.
    Section "InputClass"
        Identifier "local touchscreen tweaks"
    
        # Product to configure.
        MatchProduct "Serial Wacom Tablet WACf00c"
    
        # Driver to use for this device.
        # (Identical to the default, so not essential to mention.)
        Driver "wacom"
    
        # Disable multi-touch gestures to fix tap-to-click issues.
        Option "Gesture" "off"
    EndSection
    
  • 对于装有 Ubuntu 18.10 的 ThinkPad X201 平板电脑

    使用与上面相同的文件内容,但必须将行更改MatchProduct为以下内容:

    MatchProduct "Wacom Serial Penabled 2FG Touchscreen Finger"
    
  • 对于其他触摸屏设备

    查看其中/var/log/Xorg.0.log是否包含触摸屏产品标识符,例如“使用输入驱动程序‘wacom’输入‘…’”。或者直接使用报告的产品标识符,末尾xinput --list不带“ touch”。该后缀是产品的模式,而不是其标识符的一部分;模式可以是触摸、笔、橡皮擦、光标。

背景信息

此修复程序禁用了xf86-input-wacom驱动程序的所有多点触摸手势。显然,驱动程序的此功能或禁用此功能可修复正常点击行为的程序存在软件错误,因为所述问题不是多点触摸手势的预期结果。这可能是应用程序软件中的一个错误,因为我无法在以下任一级别上找到“手势开启”和“手势关闭”生成的事件之间的任何差异:

  • 驱动程序级别,使用类似命令sudo libinput debug-events
  • X 事件级别,如使用以下命令报告的sudo evtest /dev/input/event15

显然,这样一来,驱动程序就无法解释多点触摸事件了。不过,这并不是什么大问题,因为此驱动程序中的多点触摸手势无论如何都是一个弃用的功能:

xf86-input-wacom驱动程序支持 2FGT 手势,这是一项从linuxwacom祖父辈传承下来的传统功能。[…] 让手势引擎支持触摸手势更有用,该引擎可供所有驱动程序和多点触控应用程序使用。[…] 当您禁用 xf86-input-wacom 默认的驱动程序内 2FGT 支持时,所有硬件跟踪的手指都会传递到 X 服务器。这样,所有硬件报告的触摸接触都可以通过 X 服务器功能和支持驱动程序由新的多点触控处理。”[来源]

确实,更改后,捏合缩放和双指滚动在 Chrome / Chromium 中仍然有效。唯一令人讨厌的是残疾人手势包括“点击按住再点击”双指手势,用于右键单击。在 Ubuntu 默认桌面环境下,仍可通过点击按住进行触摸右键单击,但在其他桌面环境下则不行。但那是要解决的另一个问题

相关内容