I’m running Ubuntu 21.10 development preview on a Lenovo 82B500DBAU, with xmonad-wm.
It has a
MSFT0001:00 06CB:7F28 Touchpad, which for the most part seems to work quite well (notably though, isn’t supported [at all] in Linux kernels shipping with <= 21.04), which is being driven by
Two-finger scrolling, two-finger right-click, tap to click, and 3/4 finger gestures (using
fusuma) all work perfectly fine. When watching
libinput debug-gui, everything seems to work perfectly, detecting up to 5 fingers at a time with vertical/horizontal scrolling and pinching controls.
I’m having some trouble with pinching controls in applications however, and I intuitively feel that it is something to do with the libinput event getting swallowed somewhere along the way.
libinput debug-events, I can clearly see
PINCH events being triggered when I do a two finger pinch on the trackpad:
event7 GESTURE_PINCH_BEGIN +35.886s 2 event7 GESTURE_PINCH_UPDATE +35.886s 2 -0.40/-1.21 (-0.44/-1.32 unaccelerated) 1.03 @ -0.09 event7 GESTURE_PINCH_UPDATE +35.893s 2 0.00/-0.80 ( 0.00/-0.88 unaccelerated) 1.06 @ 0.13 event7 GESTURE_PINCH_UPDATE +35.901s 2 -0.44/-0.88 (-0.44/-0.88 unaccelerated) 1.09 @ -0.06 ... event7 GESTURE_PINCH_UPDATE +36.107s 2 0.88/ 2.20 ( 0.88/ 2.20 unaccelerated) 1.10 @ 0.53 event7 GESTURE_PINCH_UPDATE +36.114s 2 0.00/ 0.44 ( 0.00/ 0.44 unaccelerated) 1.10 @ 0.04 event7 GESTURE_PINCH_END +36.120s 2
And, if I set up
fusuma to have some sort of trigger on a trackpad pinch, it will happily trigger that function for me.
What I’m looking for is smooth zooming in applications that should support it — notably, the ones I have been testing with are
firefox 91.0 and
evince 40.4. These applications, AIUI, should natively support pinch controls for a smooth zoom (eg. in the case of Firefox 83+, it should control a naive zoom which does not trigger a DOM re-render). However, neither of them seem to produce any effect.
I considered this may have been a window manager issue, but have since reproduced the same results in Ubuntu’s native GNOME.
Any wisdom in how I can continue to debug this? I’m not very well-versed in input devices / drivers / the overall abstract pipeline of things, so any ideas on things to try would be greatly appreciated.
EDIT: Forgot to mention — worth noting that "weirder" inputs like horizontal scrolling do work in applications like Firefox / evince, it really does just seem to be pinching.