0

I'm using an Apple Magic Trackpad (first gen) with the Synaptics Trackpad-Driver (1.9.1) on Ubuntu 20.04 (Linux 5.11.0-40-generic) running KDE 5.18.5 (using xinput-gui to configure the trackpad).

The effect of the movement is determined by how many fingers are on the trackpad: Moving with one finger o the trackpad moves the cursor, moving with two fingers on the trackpad scrolls the content (vertically, horizontally and diagonally; depending on the application). Tapping or clicking with one finger is interpreted as a "left click", tapping or clicking with two fingers is a "right click" (and three fingers is a "mouse-wheen click").

Synaptics has a Noise-Cancellation feature where the positional input from the trackpad is first normalized using a X/Y bounding box. The center of the bounding box is used as the actual positional input for the system and the bounding box only moves when the direct input from the trackpad leaves that bounding box. This is intended to stabilize inaccurate data from cheap trackpads. The default value for this bounding box is 39px/39px.

The apple magic trackpad seems to have an internal hardware noise-cancellation, so I can (and do) turn off the noise cancellation by configuring the noise-cancellation bounding box to be a size of 0px/0px without any problem. Disabling the noise-cancellation in fact improves the user-experience because now the cursor-movement is point-perfect and feels good. With the noise-cancellation active it can be very hard and finicky to use the trackpad precisely.

The problem with disabling the noise-cancellation is that now "right"-clicking often creates unintended scroll-events. I cannot configure a shortcut for "[shift] + right-click" because when trying to input that it will be detected as "[shift] + scroll" instead because the scroll-event is triggered before the right-click event. Trying to right-click something in scrollable content (like a webpage) moves the content before the click is registered, so I misclick regularly. KDE-5 seems to have it hard-coded into it that scrolling on the desktop switches the workplaces, so I sometimes switch workplaces by accident by unintended scroll-events when the cursor is on the desktop. And probably a few other unintended side-effects that I am not remembering right now. And sometimes the driver detects one finger as two-fingers and starts scrolling seemingly at random, but that is a separate issue that just makes this issue worse. It's sometimes really annoying.

I could switch noise-cancellation back on to maybe kinda solve this accidental-scrolling issue, but moving the cursor with a noise-cancellation-bounding-box feels very unnatural, imprecise and muddy. I don't want to do that.

The actual solution to this problem would be to use a noise-cancellation only when using more then one finger / or to have a separate noise-cancellation bounding-box-size per finger-count. But that seems not to be an option with the synaptics driver, is it? Can other drivers maybe do this?

Can I maybe somehow hook into the events and switch the noise-cancellation bounding-box-size configuration with a script every time I switch from moving to scrolling?

Is there maybe some other solution I have not considered yet? Thank you for any advise on this.

3
  • Pure guesswork - have you tried a smaller safe area? Apple's trackpads aren't Synaptics, they're more advanced & more like touch-screen devices, with 4-finger recognition not the usual three, so anything you do is going to be a bit Heath Robinson.
    – Tetsujin
    Nov 11, 2021 at 12:32
  • ahhh 1st gen… my bad. Yes, the early ones were Synaptics, up to about 2015. Maybe this might help - wiki.ubuntu.com/Multitouch/AppleMagicTrackpad or wiki.ubuntu.com/Multitouch/Ginn
    – Tetsujin
    Nov 11, 2021 at 12:34
  • Have you tried using the "libinput" Xorg module instead of the no-longer-developed "synaptics"? While libinput is much less customizable, it also tends to have far better event processing by default (and will be the only option in most Wayland environments). Nov 11, 2021 at 13:44

1 Answer 1

0

I hated my touchpad on this Dell Inspiron 5510. Until I set this rubbish KDE touchpad noise cancellation to 0. Now, the touchpad works as it should

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .