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.