触摸板使鼠标处于“网格状”模式,外部鼠标不会

关于我的问题的一些信息

我刚刚在笔记本电脑上安装了17.10。 安装过程很顺利,另外我运行的是USB,以测试一切是否正常。 我注意到的一件事是,在移动鼠标的同时,鼠标感觉就像在各个方向上都采取了步骤 – 导致了一种滞后的运动。

如果你有一个网格,感觉就像鼠标在移动时将自己附着在网格中的每个十字架上。 在对角线方向上效果最明显,但在其他地方也可以注意到。 当鼠标碰撞时,做小动作是一项挑战。

我尝试更改系统上库存设置菜单中的可用设置,没有任何明显的运气。 我也尝试过搜索类似的问题,但我不确定他们是否完全描述了我的问题。 例如,让我们来看看: 生涩的鼠标移动

我的参数:

xinput --list-props "SynPS/2 Synaptics TouchPad" gives: `simen@Yoga-ubuntu:~$ xinput --list-props "SynPS/2 Synaptics TouchPad" Device 'SynPS/2 Synaptics TouchPad': Device Enabled (171): 1 Coordinate Transformation Matrix (173): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000 libinput Tapping Enabled (311): 1 libinput Tapping Enabled Default (312): 0 libinput Tapping Drag Enabled (313): 1 libinput Tapping Drag Enabled Default (314): 1 libinput Tapping Drag Lock Enabled (315): 0 libinput Tapping Drag Lock Enabled Default (316): 0 libinput Tapping Button Mapping Enabled (317): 1, 0 libinput Tapping Button Mapping Default (318): 1, 0 libinput Accel Speed (319): -0.244604 libinput Accel Speed Default (320): 0.000000 libinput Natural Scrolling Enabled (321): 1 libinput Natural Scrolling Enabled Default (322): 0 libinput Send Events Modes Available (292): 1, 1 libinput Send Events Mode Enabled (293): 0, 0 libinput Send Events Mode Enabled Default (294): 0, 0 libinput Left Handed Enabled (323): 0 libinput Left Handed Enabled Default (324): 0 libinput Scroll Methods Available (325): 1, 1, 0 libinput Scroll Method Enabled (326): 1, 0, 0 libinput Scroll Method Enabled Default (327): 1, 0, 0 libinput Click Methods Available (328): 1, 1 libinput Click Method Enabled (329): 1, 0 libinput Click Method Enabled Default (330): 1, 0 libinput Middle Emulation Enabled (331): 0 libinput Middle Emulation Enabled Default (332): 0 libinput Disable While Typing Enabled (333): 1 libinput Disable While Typing Enabled Default (334): 1 Device Node (295): "/dev/input/event6" Device Product ID (296): 2, 7 libinput Drag Lock Buttons (335):  libinput Horizontal Scroll Enabled (336): 1 

我已经尝试在这里更改一些值,但没有运气,因为我摆脱了我的触控板的“网格运动”。

将外接鼠标连接到笔记本电脑似乎遇到了问题,但我仍然对履带板的性能不满意。 使用我的触控板移动指针并不顺利。

如果有任何其他信息可以使用,请告诉我,我会提供。 这是一个烦人的问题,因为我无法一直使用我的外接鼠标。

触摸板移动的网格状图案是由libinput的旧矩形滞后算法引起的。 它在libinput版本1.10.2(包括在Ubuntu 18.04中)通过切换到椭圆(通常是圆形)方法而得到修复:

https://lists.freedesktop.org/archives/wayland-devel/2018-March/037317.html

我遇到了与我的联想X240类似的问题,并且根据系统名称“瑜伽”来判断,可能会采用非常类似的解决方案。 我似乎能够将效果降到可接受的水平,尽管它们似乎并没有完全消失。

正如在Wayland和Xorg上发生的那样,而且Geek的老人的修复没有帮助,我深入挖掘。

基于: https : //unix.stackexchange.com/questions/199044/diagonal-touchpad-movement-results-in-wobbly-line ,依次为: https : //bugzilla.redhat.com/show_bug.cgi?id = 1264453 – 评论10和13。

在您喜欢的文本编辑器中打开/lib/udev/hwdb.d/90-libinput-model-quirks.hwdb ,并检查LENOVO段,因为它也包含可能解决方案的提示。

这就是我做的:

1)使用evemu-describe [ evemu-tools包的一部分识别硬件DMI和输入位置; [ sudo apt install evemu-tools ]

 ~$ sudo evemu-describe Available devices: /dev/input/event0: Lid Switch ... /dev/input/event4: Video Bus /dev/input/event5: SynPS/2 Synaptics TouchPad /dev/input/event6: TPPS/2 IBM TrackPoint ... /dev/input/event20: HDA Intel HDMI HDMI/DP,pcm=10 Select the device event number [0-20]: 

所以在我的情况下,触摸板在/ dev / input / event5 [5]上注册。 在输出的开头找到DMI行并保存以供以后使用:

 # DMI: dmi:bvnLENOVO:bvrGIET90WW(2.40):bd09/14/2017:svnLENOVO:pn20AMS2QD0C:pvrThinkPadX240:rvnLENOVO:rn20AMS2QD0C:rvr0B98401PRO:cvnLENOVO:ct10:cvrNotAvailable: # Input device name: "SynPS/2 Synaptics TouchPad" 

2)进行一次跳跃,猜测你的触控板的行为与t450类似,我们现在将在/ etc / hwdb /中使用sudo nano /etc/hwdb/90-lenovo-touchpad-quirk.hwdb为我们的hwdb添加一个新文件

在文件中放置类似这样的东西。 修改DMI匹配,我将其粘贴在那里以供将来参考:

 #Lenovo touchpad smoothing fix/workaround. #evemu-describe DMI output for the touchpad: # DMI: dmi:bvnLENOVO:bvrGIET90WW(2.40):bd09/14/2017:svnLENOVO:pn20AMS2QD0C:pvrThinkPadX240:rvnLENOVO:rn20AMS2QD0C:rvr0B98401PRO:cvnLENOVO:ct10:cvrNotAvailable: #Modify the following line, namely the pvrThinkPadX240 bit, to match your DMI output. libinput:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO:*:pvrThinkPadX240* LIBINPUT_MODEL_LENOVO_T450_TOUCHPAD=1 

保存文件(在Nano ctrl-X中退出,用Y确认保存,VI有!wq)

3)现在重建硬件数据库:

 sudo udevadm hwdb --update 

并且4)测试您的新参数是否实际加载(记住第一步中的输入数字):

 ~$ sudo udevadm test /sys/class/input/event5 calling: test version 234 ... ID_INPUT_TOUCHPAD_INTEGRATION=internal ID_INPUT_WIDTH_MM=109 LIBINPUT_DEVICE_GROUP=11/2/7/1b1:isa0060/serio1 LIBINPUT_MODEL_LENOVO_T450_TOUCHPAD=1 LIBINPUT_MODEL_SYNAPTICS_SERIAL_TOUCHPAD=1 ... 

它没事! 5)重新启动系统并将手指交叉…

我希望这会导致你加入黑暗的 Linux方面!

在我的情况下, LIBINPUT_MODEL_LENOVO_X230=1实际上工作得更好,所以你可以在一定程度上玩 – 使用Synaptics触摸板的可用修复程序。

安装此软件包。 或者通过命令行使用sudo apt install xserver-xorg-input-synaptics或者使用您最喜欢的包管理器。

请注意,此包可以在Universe存储库中找到,因此您必须首先启用它。

触摸板的主要配置方法是通过Xorg服务器配置文件。 安装xserver-xorg-input-synaptics ,默认配置文件位于/usr/share/X11/xorg.conf.d/70-synaptics.conf。 您可以将此文件复制到/etc/X11/xorg.conf.d/并进行编辑以配置可用的各种驱动程序选项。 有关可用选项的完整列表,请参阅synaptics(4)手册页 。 可以使用synclient.发现特定于计算机的选项synclient.

我建议从默认配置开始并一次更改一个,这样如果||当您获得意外结果时,您可以轻松恢复到之前的设置。

资料来源:

https://packages.ubuntu.com/artful/amd64/xserver-xorg-input-synaptics/filelist

ftp://www.x.org/pub/X11R7.5/doc/man/man1/synclient.1.html

ftp://www.x.org/pub/X11R7.5/doc/man/man1/synclient.1.html

https://wiki.archlinux.org/index.php/Touchpad_Synaptics