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: timesorry, 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 ------------