[PATCH libinput 6/6] touchpad: pretend the jumpy semi-mt touchpad is a single-touch touchpad

Peter Hutterer peter.hutterer at who-t.net
Thu Jul 30 16:37:58 PDT 2015


On Thu, Jul 30, 2015 at 09:54:25AM -0700, Bill Spitzak wrote:
> On Thu, Jul 30, 2015 at 7:45 AM, Hans de Goede <hdegoede at redhat.com> wrote:
> 
> +    /* This device has a terrible 2fg resolution, but only for the
> >>> +     * second finger, causing scroll jumps when we use the touch points
> >>> +     * properly. The first finger resolution is accurate though, so
> >>> +     * we simply pretend it's a single touch touchpad with the BTN_TOOL
> >>> +     * bits.
> >>> +     */
> >>>
> >>
> > This comment is wrong, the old-style st coordinates report accurate
> > data where as the mt data reports inaccurate data for both fingers
> > when 2 fingers are down. What is happening is that when a single finger
> > is down the st data is copied over to the mt data slot 0, so as to
> > have something to report to user-space which only listens to mt events,
> > and as soon as a second finger comes down the driver starts reporting
> > the bounding box limits in the mt data, making *both* slots inaccurate.
> >
> > So it is not "only for the second finger" nor is "The first finger
> > resolution is accurate" really accurate to say :) The first finger as
> > reported in the st events is accurate, the first finger reported in the
> > mt events is still no good, otherwise we would not need this commit at
> > all.
> >
> 
> So you are saying this device simultaneously sends accurate st events and
> "bad" mt events?

yes

> Do all devices simultaneously send st events and mt events? 

yes, except for android drivers which skip the st events.

> It would seem an easier fix is to just make what this patch does happen
> for *all* devices, rather than special-case. I would suspect the reason
> for this behaviour is that is the way the Windows driver works, and that
> copying the way that works will make more devices that are tested only on
> Windows work.

no

Cheers,
   Peter


More information about the wayland-devel mailing list