Thread (9 messages) 9 messages, 3 authors, 2020-09-07

Re: [PATCH] Input: mms114: don't report 0 pressure while still tracking contact(s)

From: Peter Hutterer <hidden>
Date: 2020-06-26 00:04:50

On Tue, Jun 23, 2020 at 06:25:45PM +0200, Denis 'GNUtoo' Carikli wrote:
On Mon, 15 Jun 2020 09:57:35 +1000
Peter Hutterer [off-list ref] wrote:
quoted
quoted
quoted
Event: time 1585880998.920994, type 3 (EV_ABS), code 57
(ABS_MT_TRACKING_ID), value 0 Event: time 1585880998.920994, type
3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 400 Event: time
sorry, but this is completely unreadable. Please make sure it's in the
originally formatting that evtest/evemu/libinput record spit out.
Thanks.
Indeed.

I'm sorry about that, I didn't see it while sending the mail.
thanks for the log. Basically - the problem is that ABS_MT_TOUCH_MAJOR and
ABS_PRESSURE are completely unrelated on the device and the latter has
apparently random values. 1585880999.248531 is an event where you go from
almost max pressure to 0 without changing touch major.

Since pressure is more common, you'll have to expect that userspace may
ignore major/minor and handle pressure instead where available. Doubly so
since historically the major/minor value range has been completely random
while pressure was at least somewhat predictable. In this sequence, your
touch major ranges from 4-14 despite the axis range being 0-255.

Historically, pressure has also been used as equivalent to touch size, so
decoupling touch size and pressure is tricky anyway. Speaking from
libinput's POV I would disable ABS_(MT_)PRESSURE in this device since it's
not reliable to detect a touch. But then we'd still need a quirk in place to
tell us what the possible touch major range could be to make sense of that
number.

Cheers,
   Peter
Event: time 1585880999.248531, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 1210
Event: time 1585880999.248531, type 3 (EV_ABS), code 48 (ABS_MT_TOUCH_MAJOR), value 14
Event: time 1585880999.248531, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 244
Event: time 1585880999.248531, type 3 (EV_ABS), code 1 (ABS_Y), value 1210
Event: time 1585880999.248531, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 244
Event: time 1585880999.248531, -------------- SYN_REPORT ------------
Event: time 1585880999.259798, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 1208
Event: time 1585880999.259798, type 3 (EV_ABS), code 58 (ABS_MT_PRESSURE), value 0
Event: time 1585880999.259798, type 3 (EV_ABS), code 1 (ABS_Y), value 1208
Event: time 1585880999.259798, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 0
Event: time 1585880999.259798, -------------- SYN_REPORT ------------
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help