在我的 Lenovo T460p 上,在注册触摸板移动或滚动之前,我有一个“延迟方式”。笔记:请勿将此延迟方式与触摸板的非活动区域混淆,触摸板可通过 synclient 进行配置并用于触摸板功能等。这可以与操纵杆的“死区”进行比较,操纵杆仅在一定量的移动后才会做出反应。
当我触摸触摸板并开始移动手指时,一开始什么也没有发生。我必须将手指移动几毫米,鼠标指针才会响应。然后它会完全记录移动,这意味着每当我开始使用触摸板时,指针移动都会跳过数十个像素。这使得触摸板无法用于任何“精确”工作,例如点击选项卡上的关闭按钮。
当我让手指在一个动作中休息一秒钟左右后,也会发生这种情况。两指滚动也会发生同样的情况。这些是 xinput 设置:
Device 'SynPS/2 Synaptics TouchPad':
Device Enabled (139): 1
Coordinate Transformation Matrix (141): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (275): 1
Device Accel Constant Deceleration (276): 2.500000
Device Accel Adaptive Deceleration (277): 1.000000
Device Accel Velocity Scaling (278): 12.500000
Synaptics Edges (297): 1574, 5369, 1354, 4571
Synaptics Finger (298): 25, 30, 0
Synaptics Tap Time (299): 180
Synaptics Tap Move (300): 254
Synaptics Tap Durations (301): 180, 100, 100
Synaptics ClickPad (302): 0
Synaptics Middle Button Timeout (303): 75
Synaptics Two-Finger Pressure (304): 282
Synaptics Two-Finger Width (305): 7
Synaptics Scrolling Distance (306): 115, 115
Synaptics Edge Scrolling (307): 0, 0, 0
Synaptics Two-Finger Scrolling (308): 1, 1
Synaptics Move Speed (309): 1.000000, 1.750000, 0.034590, 0.000000
Synaptics Off (310): 0
Synaptics Locked Drags (311): 0
Synaptics Locked Drags Timeout (312): 5000
Synaptics Tap Action (313): 0, 0, 0, 0, 1, 3, 2
Synaptics Click Action (314): 1, 3, 2
Synaptics Circular Scrolling (315): 0
Synaptics Circular Scrolling Distance (316): 0.100000
Synaptics Circular Scrolling Trigger (317): 0
Synaptics Circular Pad (318): 0
Synaptics Palm Detection (319): 0
Synaptics Palm Dimensions (320): 10, 200
Synaptics Coasting Speed (321): 20.000000, 50.000000
Synaptics Pressure Motion (322): 30, 160
Synaptics Pressure Motion Factor (323): 1.000000, 1.000000
Synaptics Grab Event Device (324): 0
Synaptics Gestures (325): 1
Synaptics Capabilities (326): 1, 0, 0, 1, 1, 1, 1
Synaptics Pad Resolution (327): 65, 44
Synaptics Area (328): 0, 0, 0, 0
Synaptics Noise Cancellation (329): 28, 28
Device Product ID (267): 2, 7
Device Node (266): "/dev/input/event1"
有人有解决方案吗?
我尝试将降噪设置为0, 0
,但这没有帮助。
这是 Debian 测试(延伸)。 Fedora 24 Workstation Live Image 也显示了同样的问题。
2019-11-20:问题依然存在。这是光标行为方式的屏幕截图当我上下滚动手指时没有停顿在触摸板上(没有“移动”,只是滚动指尖)。
我仍在进行 Debian 测试(现在是靶心)。
答案1
Synaptics Finger (298): 25, 30, 0
在您的特定情况下,设置可能有点太高了。
即在任何压力下立即移动(稍后使用更明智的东西):
xinput set-prop "SynPS/2 Synaptics TouchPad" "Synaptics Finger" 1 1 0
对于您的设备SynPS/2 Synaptics TouchPad
(通过以下方式获取设备名称xinput list
:)
文档:
“FingerLow”“整数”:当手指压力低于该值时,驱动程序将其视为释放。属性:“突触手指”
“FingerHigh”“整数”:当手指压力超过此值时,驱动程序将其视为触摸。属性:“突触手指”
所以这里的问题可能是“压力”而不是像素距离。
答案2
我在 Ubuntu 18.04 LTS 中遇到了同样的问题。
安装这个软件包似乎可以大大改善触摸板的反应:
sudo apt-get install xserver-xorg-input-synaptics
答案3
这可能是由 USB 电源管理引起的。
尝试暂时禁用 USB 电源管理并查看问题是否消失:
首先使用lsusb
(包的一部分usbutils
)来识别您的触摸板使用的端口:
Bus 002 Device 003: ID 18a5:0245 Verbatim, Ltd
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
在我的例子中,这将是总线 001 设备 003 上的罗技统一接收器。现在使用您设备的供应商 ID 在 /sys/ 中找到相应的设备(在我的例子中,id 是046d
):
grep 046d /sys/bus/usb/devices/*/idVendor
> /sys/bus/usb/devices/1-1.5/idVendor:046d
现在告诉内核保持设备始终打开:
echo on >/sys/bus/usb/devices/1-1.5/power/control
如果这有帮助,您可以在笔记本电脑模式工具中禁用自动挂起。编辑/etc/laptop-mode/conf.d/runtime-pm.conf
并添加AUTOSUSPEND_RUNTIME_DEVID_BLACKLIST="046d:c52b"
替换046d:c52b
为 给定的设备的设备 ID 的位置lsusb
。就我而言,我使用了更通用的参数来禁用所有人机界面设备和存储设备的自动挂起:AUTOSUSPEND_RUNTIME_DEVTYPE_BLACKLIST="usbhid usb-storage"
答案4
这就是提高我两根手指滚动响应能力的原因(ThinkPad T14 Gen1,Ubuntu 22.04):
为你的触摸板获取 xinput 属性:
$ xinput list-props "SynPS/2 Synaptics TouchPad"
设置滚动像素距离:
$ xinput set-prop "SynPS/2 Synaptics TouchPad" "libinput Scrolling Pixel Distance" 10
新设置立即生效。
在我的例子中,它设置为 15,将其降低到 10 可以显着提高两根手指滚动的响应能力。结果发现低于 10 的值是不允许的。您的触摸板可能有不同的值(我不知道),所以您必须尝试。