如何在Ubuntu 18.04中从libinput切换到synaptics

我的笔记本电脑有个问题——光标会跳动。我认为问题的根源是硬件。也许触摸板在获取手指坐标和触摸事件时非常不准确。
在Ubuntu 14.04上,我只需设置垂直和水平滞后以及高低手指压力,就能使触摸板感觉流畅而舒适。但当我安装了18.04后,发现无法再调整触摸板了(除了一些对我来说并不太有用的选项)。
所以,你们中的任何人能帮我恢复那个美丽的“synaptics”驱动程序吗?

1运行以下命令:"sudo apt install xserver-xorg-input-synaptics",然后再运行以下命令:"synclient TapButton1=1 TapButton2=3 TapButton3=2"。 - Ryko
换驱动程序够了吗?我尝试了下面的答案,差点让我的系统崩溃。键盘停止工作了。 - Zephyr Zephyroff
你尝试过我的两个命令吗?这个命令不会移除任何软件包,所以不会破坏你的系统。如果上述命令对你有效,我会告诉你后续的步骤。我只是在检查synaptics驱动是否对你起作用。 - Ryko
Couldn't find synaptics properties. No synaptics driver loaded? - Zephyr Zephyroff
然后您需要安装触摸板驱动程序。运行以下命令(不包括引号):"sudo apt install xserver-xorg-input-synaptics"。安装完成后,再运行以下命令(不包括引号):"synclient TapButton1=1 TapButton2=3 TapButton3=2"。 - Ryko
看看问题是否仍然存在... - Ryko
这个输出是在我执行了你第一条评论中的那些命令后得到的:安装了xserver-xorg-input-synaptics之后,无论是synclient TapButton1=1 ...还是synclient -l都会产生与我上面发布的相同的输出。 - Zephyr Zephyroff
我对你的帖子感到惊讶。我曾经遇到过无尽的synaptics问题,比如触摸板经常冻结。起初,我只需要重新加载驱动程序,但后来只有重启才能解决问题。经历了几年之后,我差点放弃我的Linux笔记本电脑,准备购买一台MacBook,然后我转而使用libinput,自那以后一切都运行得非常完美。我猜这取决于你的硬件。 - orodbhen
我也遇到了一些Synaptics的问题。甚至我写了一个脚本,每分钟设置一次所需的设置,因为它们有时会因为未知原因而丢失。但是我知道这些设置是存在的,并且可以重新设置它们。然而,在libinput中没有这样的设置。也没有防止光标跳动的可能性,也没有调整灵敏度的选项。 - Zephyr Zephyroff
7个回答

我遇到了同样的问题,基本上是通过遵循Ryko的建议解决的。
sudo apt install xserver-xorg-input-synaptics

...管用。我没有像Pilot6说的那样卸载libinput,而libinput仍然很高兴地处理我的键盘等等。


4在我的情况下,它不起作用。可能有一些遗漏的东西。一些软件包或配置。我总是看到相同的“找不到synaptics属性。没有加载synaptics驱动程序?”我不知道如何摆脱这个问题。 - Zephyr Zephyroff
2最终它开始工作了。我安装了xserver-xorg-input-synaptics然后重新启动了系统。结果它正常运行了。谢谢! - Zephyr Zephyroff
1确保首先运行sudo apt update,以避免出现“无法定位软件包”的错误 - 哎呀! - David
非常感谢!这个方法对我来说立即生效了,在我的戴尔Vostro笔记本上安装了Ubuntu 18.04。 - Swapnil Rustagi
1这对我没用。试过多次删除、安装和重启,但都没有效果。 - RjPiston
1对我来说不起作用。Synaptics只是与libinput并存,并没有被选择使用。 - kevinkayaks
哇,我在Ubuntu 19.10上安装了xserver-xorg-input-synaptics并重新启动,我的触摸板工作得好多了。Thinkpad T460s。简直像是梦想成真。 - AveryFreeman

如果你正在运行一个HWE版本(比如18.04.2),那么你实际上想要的是:
sudo apt install xserver-xorg-input-synaptics-hwe-18.04

你不需要移除任何软件包,只需添加这个并且一旦它生效,你可以根据自己的喜好进行调整(正如其他人在上面所指出的)。
提示:后缀“-hwe-18.04”需要附加到受HWE影响的任何软件包上。 阅读有关HWE的资料,你就会明白为什么以及受影响的软件包的范围。

硬件启用(HWE)是Ubuntu的一项功能,它允许用户在Ubuntu发行版之间获取更新的硬件支持。通过HWE,用户可以将其系统保持与最新硬件兼容性和驱动程序支持的状态同步。每个Ubuntu版本都会有一个特定的HWE内核版本,其中包含来自较新Ubuntu版本的硬件支持和驱动程序。用户可以选择安装此HWE内核版本以获得最新的硬件支持。 - FairMiles
谢谢,这对我在Kubuntu 18.04.3上有效!从被接受的答案中安装非-hwe包导致了桌面环境崩溃。不过,安装这个hwe包却很顺利。 - Saeed Baig

你能给出如何进行覆盖的指示吗?
synaptics配置文件可以复制到/etc/X11/xorg.conf.d,并赋予一个比/usr/share/X11/xorg.conf.d synaptics.conf默认更高的编号。然后,synaptics触摸板驱动程序通过具有更高的优先级来覆盖libinput触摸板驱动程序。
还有一个选项可以添加到libinput.conf中,以防止考虑libinput触摸板驱动程序。在"MatchIsTouchpad"之后添加:
Option "Ignore" "true"

请使用xinput命令进行检查。
xinput list
xinput --list-props "whatever touchpad from above list"

这将显示libinput或synaptics属性,如果触摸板使用的是libinput或synaptics。synaptics触摸板驱动程序应该显示类似于以下内容的输出:
Device 'ELAN1300:00 04F3:3057 Touchpad':
Device Enabled (152):   1
Coordinate Transformation Matrix (154): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (280): 1
Device Accel Constant Deceleration (281):   1.000000
Device Accel Adaptive Deceleration (282):   1.000000
Device Accel Velocity Scaling (283):    1.000000
Synaptics Edges (284):  0, 3208, 0, 2210
Synaptics Finger (285): 1, 70, 0
Synaptics Tap Time (286):   180
Synaptics Tap Move (287):   171
Synaptics Tap Durations (288):  180, 180, 100
Synaptics ClickPad (289):   1
Synaptics Middle Button Timeout (290):  0
Synaptics Two-Finger Pressure (291):    282
Synaptics Two-Finger Width (292):   7
Synaptics Scrolling Distance (293): 154, 77
Synaptics Edge Scrolling (294): 0, 0, 0
Synaptics Two-Finger Scrolling (295):   1, 0
Synaptics Move Speed (296): 1.000000, 1.000000, 0.000000, 0.000000
Synaptics Off (297):    0
Synaptics Locked Drags (298):   0
Synaptics Locked Drags Timeout (299):   5000
Synaptics Tap Action (300): 0, 0, 0, 0, 0, 0, 0
Synaptics Click Action (301):   1, 3, 2
Synaptics Circular Scrolling (302): 0
Synaptics Circular Scrolling Distance (303):    0.100000
Synaptics Circular Scrolling Trigger (304): 0
Synaptics Circular Pad (305):   0
Synaptics Palm Detection (306): 1
Synaptics Palm Dimensions (307):    10, 200
Synaptics Coasting Speed (308): 20.000000, 50.000000
Synaptics Pressure Motion (309):    30, 160
Synaptics Pressure Motion Factor (310): 1.000000, 1.000000
Synaptics Grab Event Device (311):  1
Synaptics Gestures (312):   1
Synaptics Capabilities (313):   1, 0, 0, 1, 1, 0, 0
Synaptics Pad Resolution (314): 32, 31
Synaptics Area (315):   0, 0, 0, 0
Synaptics Soft Button Areas (316):  1604, 0, 1800, 0, 0, 0, 0, 0
Synaptics Noise Cancellation (317): 50, 50
Device Product ID (276):    1267, 12375
Device Node (275):  "/dev/input/event15"

Synaptics触摸板驱动程序允许调整许多设置,而libinput驱动程序只是打开或关闭一些功能,因此对于我的触摸板来说没有用处。

这一切只是禁用了我的触摸板,这让我相信Synaptics驱动程序甚至没有加载。 - RjPiston

在安装Synaptics触摸板后,我在Ubuntu 18.04中遇到了问题。我的键盘停止工作了。所以我启动进入系统(登录界面上键盘是正常工作的),鼠标也正常工作,然后我从历史记录中打开了我的邮件(我用手机保存了命令),我复制了以下命令并回车(命令之后有空行):

sudo apt install xserver-xorg-input-all xserver-xorg-input-synaptics

这个修复了启动键盘和鼠标的问题。不需要移除libinput或其他任何东西。重新启动后,一切都正常工作。
注意:在命令的末尾使用回车键保存命令,并留有一个空行。这将帮助命令在终端中直接执行,而无需按下回车键进行复制粘贴,如果键盘不起作用的话。

问题并不一定是缺少Synaptics驱动程序,更重要的是libinput驱动程序的设置被故意保持通用,以便用户或硬件OEM可以根据需要进行调整。
与其简单地卸载libinput并安装Synaptics,您仍然可以添加Synaptics,但为了保持一切正常工作,您需要通过删除/更新与触摸板相关的libinput引用,并添加一个Synaptics规则来提供"覆盖"。
问题的一个主要部分是似乎没有任何适当的GUI工具,很少有硬件OEM(如戴尔/惠普/联想等)提供针对其硬件优化的自定义配置,可能只有他们自己预装的Ubuntu版本(至少戴尔提供了这个选项)。我还没有获取最新的戴尔Ubuntu镜像并解压它,看看他们是否提供任何自定义配置,但如果他们没有提供的话,我肯定认为他们应该考虑添加,因为XPS13/XPS15和他们的商务兄弟Precision 55x0型号在运行Ubuntu时比Windows快得多。
这篇戴尔的文章对如何潜在地解决问题有一个良好的开端(并不仅适用于他们的系统或触摸板),https://www.dell.com/support/article/us/en/19/sln308258/precision-xps-ubuntu-general-touchpad-mouse-issue-fix?lang=en

5你能提供关于如何执行覆盖操作的说明吗? - jvdh

我正在使用 lubuntu Release 20.04.2 LTS (Focal Fossa)64-bit Kernel Linux 5.8.0-63-generic x86_64。我的笔记本电脑是 Dell inspiron i5 3567,我已经使用了一年,并且一直工作正常,但今天我打开笔记本电脑,在终端上注意到我的向上箭头键一直被按下。我从未遇到过这样的情况,所以匆忙关闭电源并打开笔记本电脑的后盖,拆下键盘并清洁它(有太多的灰尘)。在固定好所有螺丝后,再次启动电脑,问题仍未解决,重新安装默认的驱动程序libinput,使用以下命令:

sudo apt-get install --reinstall xserver-xorg-input-all xserver-xorg-input-libinput

但是仍然没有解决,然后我想到使用“synaptics驱动程序”,我安装了它。
sudo apt-get install xserver-xorg-input-synaptics

然后重新启动了笔记本电脑,但问题仍未解决。然后我安装了xserver-xorg-core,重新启动后问题得到解决,但我注意到我的触摸板正在使用libinput
/usr/share/X11/xorg.conf.d

我编辑了文件40-libinput.conf,将所有的MatchIs选项都设置为off,然后重新启动了电脑,并检查了命令xinput list,现在一切都正常了,我的触摸板变成了Synaptics,而且我的键盘也没有任何问题。

我在尝试解决这个问题一个月之后遇到了类似的情况,最终找到了解决办法:只需移除所有与 libinput 相关的包(除了 libinput-binlibinput10:amd64),然后通过以下命令安装 evdev
sudo apt install xserver-xorg-core && xserver-xorg-input-evdev

在我的博客中可以找到完整的中文描述:https://zhuanlan.zhihu.com/p/168512118 请注意,显然这并没有安装synaptics,正如标题所要求的那样。而且这个解决方案可能会破坏你的触摸板(尚未完全测试),但它在触点上运行得非常好。希望能对你有所帮助(因为以上所有解决方案实际上都没有解决我的问题)。