libinput pressure detection: clarification for drivers

Life is hard, and then you die ronald at innovation.ch
Sat Mar 4 02:41:31 UTC 2017


I was testing out the new pressure-based touch detection in libinput
(on a new MBP where the sensitivy is such that it's been possible to
move the mouse without actually touching the touchpad, so this new
feature is very welcome) and realized that it appears the drivers must
send actual ABS_MT_PRESSURE or ABS_PRESSURE events. From reading the
kernel documentation at
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/plain/Documentation/input/multi-touch-protocol.txt
I was under the impression that these events were only needed for
devices that didn't provide ABS_MT_TOUCH_MAJOR/ABS_MT_WIDTH_MAJOR .

So my question is basically: am I misreading the above doc, and should
drivers then always report pressure events even if they already report
touch and width events?

Btw., I noticed that the bcm5974 driver only sends only ABS_PRESSURE
(not ABS_MT_PRESSURE) even though it has the ABS_MT_SLOT capability
set, so AFAICT the pressure-detection won't work for that device (and
the emulation in test/litest-device-bcm5974.c seems misleading since
that is sending ABS_MT_PRESSURE events).


  Cheers,

  Ronald



More information about the wayland-devel mailing list