如何提高 Ubuntu 上的触控板精度?

如何提高 Ubuntu 上的触控板精度?

我在 Thinkpad X260 上运行 Ubuntu 20.04(内核是5.4.0-99-lowlatency,但通用内核的问题相同)。触控板设备是“Synaptics TM3075-002”。

基本上,对于小而精确的移动,触控板会抖动,有时甚至无法记录移动。

我已经尝试了这两个包libinput 1.19.901以及最新的xserver-xorg-input-synaptics包。

当我用手指在触控板上缓慢移动时,光标会移动libinput带有 libinput 的触控板

当我用手指在触控板上缓慢移动时,光标会移动synaptics带 Synaptics 的触控板

情况好转了,synaptics但仍然有些紧张。

这些是具有以下属性libinput

Device 'Synaptics TM3075-002':
        Device Enabled (168):   1
        Coordinate Transformation Matrix (170): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        libinput Tapping Enabled (304): 1
        libinput Tapping Enabled Default (305): 0
        libinput Tapping Drag Enabled (306):    1
        libinput Tapping Drag Enabled Default (307):    1
        libinput Tapping Drag Lock Enabled (308):       0
        libinput Tapping Drag Lock Enabled Default (309):       0
        libinput Tapping Button Mapping Enabled (310):  1, 0
        libinput Tapping Button Mapping Default (311):  1, 0
        libinput Natural Scrolling Enabled (312):       0
        libinput Natural Scrolling Enabled Default (313):       0
        libinput Disable While Typing Enabled (314):    0
        libinput Disable While Typing Enabled Default (315):    1
        libinput Scroll Methods Available (316):        1, 1, 0
        libinput Scroll Method Enabled (317):   1, 0, 0
        libinput Scroll Method Enabled Default (318):   1, 0, 0
        libinput Click Methods Available (319): 1, 1
        libinput Click Method Enabled (320):    0, 1
        libinput Click Method Enabled Default (321):    1, 0
        libinput Middle Emulation Enabled (322):        0
        libinput Middle Emulation Enabled Default (323):        0
        libinput Accel Speed (324):     0.500000
        libinput Accel Speed Default (325):     0.000000
        libinput Left Handed Enabled (326):     0
        libinput Left Handed Enabled Default (327):     0
        libinput Send Events Modes Available (289):     1, 1
        libinput Send Events Mode Enabled (290):        0, 0
        libinput Send Events Mode Enabled Default (291):        0, 0
        Device Node (292):      "/dev/input/event15"
        Device Product ID (293):        1739, 0
        libinput Drag Lock Buttons (328):       <no items>
        libinput Horizontal Scroll Enabled (329):       1

synaptics

Device 'Synaptics TM3075-002':
        Device Enabled (168):   1
        Coordinate Transformation Matrix (170): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        Device Accel Profile (301):     1
        Device Accel Constant Deceleration (302):       2.500000
        Device Accel Adaptive Deceleration (303):       1.000000
        Device Accel Velocity Scaling (304):    12.500000
        Synaptics Edges (305):  67, 1613, 54, 948
        Synaptics Finger (306): 25, 30, 0
        Synaptics Tap Time (307):       180
        Synaptics Tap Move (308):       86
        Synaptics Tap Durations (309):  180, 180, 100
        Synaptics ClickPad (310):       1
        Synaptics Middle Button Timeout (311):  0
        Synaptics Two-Finger Pressure (312):    282
        Synaptics Two-Finger Width (313):       7
        Synaptics Scrolling Distance (314):     39, 39
        Synaptics Edge Scrolling (315): 1, 0, 0
        Synaptics Two-Finger Scrolling (316):   1, 0
        Synaptics Move Speed (317):     1.000000, 1.750000, 0.102249, 0.000000
        Synaptics Off (318):    0
        Synaptics Locked Drags (319):   0
        Synaptics Locked Drags Timeout (320):   5000
        Synaptics Tap Action (321):     2, 3, 0, 0, 1, 3, 0
        Synaptics Click Action (322):   1, 3, 0
        Synaptics Circular Scrolling (323):     0
        Synaptics Circular Scrolling Distance (324):    0.100000
        Synaptics Circular Scrolling Trigger (325):     0
        Synaptics Circular Pad (326):   0
        Synaptics Palm Detection (327): 0
        Synaptics Palm Dimensions (328):        10, 200
        Synaptics Coasting Speed (329): 20.000000, 50.000000
        Synaptics Pressure Motion (330):        30, 160
        Synaptics Pressure Motion Factor (331): 1.000000, 1.000000
        Synaptics Resolution Detect (332):      1
        Synaptics Grab Event Device (333):      0
        Synaptics Gestures (334):       1
        Synaptics Capabilities (335):   1, 0, 0, 1, 1, 1, 0
        Synaptics Pad Resolution (336): 20, 20
        Synaptics Area (337):   0, 0, 0, 0
        Synaptics Soft Button Areas (338):      840, 0, 821, 0, 0, 0, 0, 0
        Synaptics Noise Cancellation (339):     0, 0
        Device Product ID (293):        1739, 0
        Device Node (292):      "/dev/input/event15"

我不确定我还能做什么。其他属性似乎对此没有影响(我禁用了噪音消除功能,synaptics但不确定这有多大帮助)。我是否应该尝试其他驱动程序?

答案1

经过大量的搜索和尝试,我最终找到了一个不错的解决方案对上一个问题的回答

基本上我最终改变了以下属性:

DEVICE=11
xinput --set-prop "$DEVICE" "Synaptics Noise Cancellation" 0 0
xinput --set-prop "$DEVICE" "Device Accel Profile" 6
xinput --set-prop "$DEVICE" "Device Accel Velocity Scaling" 50
xinput --set-prop "$DEVICE" "Device Accel Constant Deceleration" 12

关键是将 改为Device Accel Profile6根据链接的答案,这是线性加速度曲线。这需要一些时间来适应,但现在小动作不再那么跳跃了:

触控板移动更顺畅

libinput也有“平坦”的加速度曲线这可能相当于synaptics线性轮廓,但我还没有机会尝试。

相关内容