8

On my Lenovo T460p, I have a "delay way" before touch pad movement or scrolling is registered. Note: This delay way is not to be confused with inactive areas of the touchpad as configurable through synclient and used e.g. for clickpad features. This can more be compared to "dead zones" of joysticks, which only react after a certain amount of movement.

When I touch the pad and start moving my finger, at first, nothing happens. I have to move the finger for a few millimeters before the mouse pointer would respond. It then registers the movement completely, which means that whenever I start using the touch pad, I have a skip by tens of pixels in the pointer movement. This makes the touch pad unusable for any "precision" work, such as hitting the close button on a tab.

This also happens after I let the finger rest within a movement for a second or so. The same happens for two-finger scrolling. These are the xinput settings:

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" 

Has anyone a solution for this?

I have tried to set Noise Cancellation to 0, 0, but that did not help.

This is on Debian testing (stretch). Fedora 24 Workstation Live Image also shows the same issue.

2019-11-20: The problem still persists. Here is a screen capture of how the cursor behaves when I roll my finger up and down without pause on the touchpad (no "movement", just rolling the fingertip).

I am still on Debian testing (which is nowadays bullseye).

5
  • Wouldn't a dead zone be an area where no touch is registered? AFAIK you are talking about "palm detection" or such. Commented Jun 21, 2016 at 12:08
  • @phk Maybe dead zone isn’t the correct term, but Palm Detection I think isn’t either, as it is clearly turned off in xinput, nevertheless I’m seeing the effect. If anyone has a suggestion for a more correct term, feel free to edit. Commented Jun 21, 2016 at 12:17
  • 1
    Please tell us if this happens only on Debian Stretch, or other linux distros as well, i.e. would this happen if a Linux Mint bootCD, and so forth... Commented Jun 30, 2016 at 0:39
  • @JonasWielicki Could you please check if my answer is helping? It would be a shame if the 250 reputation would be going to waste Commented Jul 5, 2016 at 7:22
  • I think the Synaptics driver could be better configured out of the box for these distros. We're experiencing the same issue with several Linux installs. See if this helps: superuser.com/questions/861829/touchpad-after-scroll-delay-fix Commented Mar 27, 2018 at 3:31

5 Answers 5

2

It is possible that in your particular case Synaptics Finger (298): 25, 30, 0 is set a bit too high.

I.e. for instant movement on any pressure (use something more sensible later):

xinput set-prop "SynPS/2 Synaptics TouchPad" "Synaptics Finger" 1 1 0 

for your device SynPS/2 Synaptics TouchPad (get device name by: xinput list)

Documentation:

"FingerLow" "integer": When finger pressure drops below this value, the driver counts it as a release. Property: "Synaptics Finger"

"FingerHigh" "integer": When finger pressure goes above this value, the driver counts it as a touch. Property: "Synaptics Finger"

So the issue here could be "pressure" not pixel distance.

6
  • 1
    Interesting, but unfortunately I don’t think this changes the behaviour. I tried what you suggested, but the behaviour did not really change :(. Thanks for giving this a shot though! At first I thought it might’ve changed something, but reverting to the old values didn’t feel different; there is still considerable lag before the touchpad registers a 180° change of direction for example. Commented Nov 20, 2019 at 9:32
  • Oh I really thought that was it. Are you sure Noise Cancelling is still 0 0 too? These are the 2 properties that give me lag here. FWIW here is my configuration: pastebin.com/wT55gWUf (don't expect it to be the same for your device though) Commented Nov 20, 2019 at 14:06
  • I made a screen capture of how it looks (also edited that into the question): imgur.com/a/vdYXKAG This is just rolling my finger on the touchpad, no movement. I do not pause the rolling of my finger at all. Commented Nov 20, 2019 at 16:57
  • Thanks for the screencap. This looks exactly like what a lowpass filter would do, but strangely in your case Noise Cancelling is disabled, as you wrote. You could try out my xinput config if you want (it should be reset after a restart) if that doesn't help at least a bit I think we can rule out a configuration issue. Commented Nov 21, 2019 at 21:32
  • 1
    Woo, thanks for the config. I loaded it, but it didn’t fix the issue. The gaps became wider though, probably due to your increased pointer speed. Commented Nov 22, 2019 at 13:59
1

I had the same issue in Ubuntu 18.04 LTS.

Installing this package seems to improve how the touchpad reacts a lot:

sudo apt-get install xserver-xorg-input-synaptics 
2
  • Unfortunately, already installed. Commented Jul 19, 2018 at 8:16
  • This one fixed it for me Commented May 26, 2019 at 21:36
0

This could be caused by USB power management.

Try temporarily disabling USB power management and see if the problem disappears:

first use lsusb (part of the usbutils package) to identify the port that your touchpad uses:

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 

In my case this would be the logitech unifying receiver on bus 001 Device 003. Now find the corresponding device in /sys/ using the vendor ID of your device (in my case the id is 046d):

grep 046d /sys/bus/usb/devices/*/idVendor > /sys/bus/usb/devices/1-1.5/idVendor:046d 

now tell the kernel to keep the device always on:

echo on >/sys/bus/usb/devices/1-1.5/power/control 

if this helps, you can disable autosuspend in the laptop-mode tools. edit /etc/laptop-mode/conf.d/runtime-pm.conf and add AUTOSUSPEND_RUNTIME_DEVID_BLACKLIST="046d:c52b" where you replace 046d:c52b with the device id of your device given by lsusb. In my case I used the more general parameter that disables autosuspend for all human interface devices and storage devices: AUTOSUSPEND_RUNTIME_DEVTYPE_BLACKLIST="usbhid usb-storage"

9
  • Nice idea, but unfortunately, this does not work. I could not find the matching USB device (I only have Acer (webcam), Intel corp. (wifi) and Validity Sensors, which I presume is the fingerprint reader, otherwise there are only root hubs). I nevertheless set power/control to on for all of them and also used powertop to disable PM for any other devices I could find. To no avail :(. Commented Jul 5, 2016 at 7:22
  • Sorry to hear that. Commented Jul 5, 2016 at 7:24
  • Did you try to disable powermanagement through laptop-mode alltogether? Commented Jul 5, 2016 at 7:25
  • Also could you try lsmod and see if any of the modules fit your touchpad? Commented Jul 5, 2016 at 7:26
  • I just found out that there are two drivers available for your touchpad: xf86-input-synaptics and libinput. Could you try to find out which you are using and try to install the other one? Commented Jul 5, 2016 at 7:35
0

This is what improved responsiveness for two finger scrolling for me (ThinkPad T14 Gen1, Ubuntu 22.04):

Get xinput props for your touchpad:

$ xinput list-props "SynPS/2 Synaptics TouchPad" 

Set scrolling pixel distance:

$ xinput set-prop "SynPS/2 Synaptics TouchPad" "libinput Scrolling Pixel Distance" 10 

The new setting becomes effective immediately.

In my case it was set on 15 and lowering it to 10 significantly improved responsiveness of two finger scrolling. It turned out that values below 10 are not allowed. Could be a different value for your touchpad (I don't know), so you have to try.

0

For those still struggling with this issue eight years later, what worked for me was adding the following kernel parameter: psmouse.synaptics_intertouch=0.

I've included the relevant bits from modinfo, but it's not immediately clear to me how it solves the problem.

$ modinfo psmouse | grep synaptics_intertouch parm: synaptics_intertouch:Use a secondary bus for the Synaptics device. (int) 

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.