[PATCH libinput 6/6] touchpad: pretend the jumpy semi-mt touchpad is a single-touch touchpad
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?
> 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.
More information about the wayland-devel