如何修复 Ubuntu 16.04 LTS 上的防手掌误触问题?

如何修复 Ubuntu 16.04 LTS 上的防手掌误触问题?

我最近在 Dell Inspiron 7559 笔记本电脑上下载了 Ubuntu,我发现防手掌误触功能出现了问题。该软件部分工作正常;当我尝试用手掌使用触控板时,光标不会移动,因此它清楚地识别了我的手掌,但当我将手掌放在触控板上时(不一定是轻敲,只是放在那里),会自动发生点击。这会导致窗口消失,所以我必须寻找它们才能恢复它们。

这是一个特别奇怪的问题,我还没找到其他人遇到过。我双启动 Windows 和 Ubuntu,启动 Windows 10 时没有遇到此问题。那么我可以更改设置或更新驱动程序吗?任何帮助都将不胜感激。

编辑:

我使用 xinput 列表检查了我的设备,发现我显然有 2 个触摸板输入:

↳ ELAN1010:00 04F3:3012 触摸板 id=12 [从属指针 (2)]

↳ ETPS/2 Elantech 触摸板 id=14 [从属指针 (2)]

那么操作系统是否监听了错误的驱动程序?如果是这样,我该如何让它使用正确的驱动程序?

答案1

首先,您需要找到触摸板驱动程序。您可以在终端下输入以下内容:

xinput

您将在那里收到驱动程序列表。在列表虚拟核心指针下,查找关键字 TouchPad。该变量将是 {id},例如我的是“SynPS/2 Synaptics TouchPad”。

接下来进入启动应用程序偏好设置,选择“添加”,你可以随意输入名称,我使用了“Palm Detection”,对于 cmd 你想输入的是:

xinput set-prop "{id}" "Synaptics Palm Detection" 1

另外,添加另一个来设置尺寸。将其命名为“Palm Dimensions”(您可以根据需要替换该值,您可能希望使用该值来获得最佳体验):

xinput set-prop "{id}" "Synaptics Palm Dimensions" 3, 3

现在您可以重新启动笔记本电脑并祝您好运:)

PS 我认为正确的触摸板 ID 是以 ETPS/2 开头的。如果不是,您可以尝试两者,希望这样可以奏效。

答案2

对于我的 XPS 13 2017 和 Ubuntu 16.04,解决方案是安装dconf-editor并转到

org > gnome > desktop > peripherals > touchpad

并设置click-methodfingers或如果该键disable-while-typing可用,则将其设置为true


另一个解决方案是转到 添加新快捷方式Keyboard > Shortcuts > Custom Shortcuts。我的快捷方式是

Ctrl + Shift + M -> gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click true

Ctrl + Shift + N -> gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click false

因此,无论何时您想要启用点击功能,只需按Ctrl+ Shift+MCtrl+ Shift+N即可禁用它。

答案3

对我来说,上述所有解决方案都不起作用。因此,如果有人处于类似情况,这可以帮助减少触摸板在边缘的激活区域。这不会产生任何负面影响,因为您很少从边缘开始点击,并且当触摸触摸板时,您仍然可以使用边缘的区域。可以这样做:

首先,使用此 ( xinput list-props "ETPS/2 Elantech Touchpad"|grep Edges) 获取触摸板边缘尺寸。它返回 4 个值(左、右、上、下),例如Synaptics Edges (274): 100, 2408, 71, 1249

其次,这些值可以像这样使用:

synclient AreaTopEdge=71
synclient AreaLeftEdge=100
synclient AreaRightEdge=2408

答案4

如果你有一台现代戴尔笔记本电脑,这些说明可能会有所帮助。它们直接来自戴尔,Precision/XPS:Ubuntu 常规触摸板/鼠标问题修复

第一部分对我来说很神奇。这是他们建议添加到的脚本sudo gedit /usr/share/X11/xorg.conf.d/51-synaptics-quirks.conf。我不建议遵循已接受答案的解决方案,因为该路线似乎会产生其他问题。

# Disable generic Synaptics device, as we're using
# "DLL0704:01 06CB:76AE Touchpad"
# Having multiple touchpad devices running confuses syndaemon
Section "InputClass"
    Identifier "SynPS/2 Synaptics TouchPad"
    MatchProduct "SynPS/2 Synaptics TouchPad"
    MatchIsTouchpad "on"
    MatchOS "Linux"
    MatchDevicePath "/dev/input/event*"
    Option "Ignore" "on"
EndSection

为了进行兼容性比较,我有一台戴尔 Inspiron 13 7000 系列xinput list

jonathan@Dell:~$ xinput list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech USB Receiver                     id=10   [slave  pointer  (2)]
⎜   ↳ Logitech USB Receiver                     id=11   [slave  pointer  (2)]
⎜   ↳ ELAN Touchscreen                          id=13   [slave  pointer  (2)]
⎜   ↳ DELL0741:00 06CB:7E7E Touchpad            id=14   [slave  pointer  (2)]
...

Synaptics 不在该列表中,因为它已被上述脚本禁用。在添加此脚本之前,我建议运行xinput --test <id>"(对我来说14)。如果您在终端上收到输出,则表示您的设备正在运行(您的设备处于“开启”状态)。

相关内容