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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <peter.hutterer@xxxxxxxxx> wrote:
> > > > 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 ------------



[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux