如何在Ubuntu 16.04 LTS上解决手掌拒绝问题?


14

我最近在我的Dell Inspiron 7559笔记本电脑上下载了Ubuntu,我注意到手掌被拒。该软件只能部分运行;当我尝试用手掌使用触控板时,光标不会移动,因此可以清楚地识别出我的手掌,但是当我将手掌放在触控板上而不一定要轻敲时,只需将其放在那里,就会自动发生点击。这会导致窗户消失,因此我必须寻找它们才能将它们取回。

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

编辑:

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

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

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

那么操作系统是在听错误的驱动程序吗?如果是这样,我如何使用正确的方法呢?

Answers:


12

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

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开始的ID。如果没有,您可以尝试两者,并希望它能起作用。


1
因此,即使OP具有Elantech触摸板,此操作仍然有效吗?我问是因为我有CyPS / 2 Cypress触控板,并且对Ubuntu Gnome中可怕的手掌检测感到沮丧。
丹丹(Dan)

与Elantech触摸板完美匹配。我这一边唯一需要做的更改就是将手掌的大小设置为7x7。3x3甚至可以拒绝一根手指。
tglas

2
要了解@Dan的情况,您可以运行xinput list-props {id}并查看可用的属性。我的Elantech触摸板确实列出了许多Synaptics属性。
Gertlex

3

对于使用Ubuntu 16.04的XPS 13 2017,解决方案是安装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将其禁用。


2

如果您有一台现代的Dell笔记本电脑,这些说明可能会有所帮助。它们直接来自Dell,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

为了进行兼容性比较,我使用了具有以下功能的Dell 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)。如果您在终端上获得输出,则表明您的设备正在运行(您的设备处于“开启”状态)。


似乎运作良好。我没有“双重触控板驱动程序”问题,因此我跳到下一部分。
拉菲·哈查杜安

2

对我而言,以上所有解决方案均无效。因此,如果有人处于类似情况,这可能有助于减少触摸板边缘的激活区域。这不会产生任何负面影响,因为您很少从单击边缘开始,并且在触摸触摸板时,仍可以使用边缘区域。可以这样完成:

首先,使用此(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

在Ubuntu 18.04上像魅力一样为我工作。谢谢!对于像我这样的其他人,上述命令(带有您自己的位置值)需要在启动时运行。为此,请使用上述命令创建一个shell脚本并将其添加到自动启动(使用Google可以找到的任何方法)。
diadochos
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.