qt6-bb10/src/platformsupport/input
Romain Pokrzywka 359546b069 evdevtouch: ensure touchpoints released with typeB mtdev drivers
This happens in one particular case: when the touchpoint corresponding
to the last slot is reported as released and a new point is reported
as pressed right after, so that both events happens within a same sync.
In this case, there will be two ABS_MT_TRACKING_ID events received,
first with -1 to report the released touchpoint, then with a new id
to report the pressed touchpoint, then the SYN_REPORT afterwards.

This results in m_contacts[m_currentSlot].state being updated to
Qt::TouchPointReleased then Qt::TouchPointPressed, with the former never
being reported during the handling of SYN_REPORT.
To handle this scenario we need to inspect m_lastContacts for a change
in tracking id for a particular slot combined with a non-null state,
indicating that slot has not yet been reported released and processed
in the previous sync. (the state for processed released points is reset
to zero at the end of the SYN_REPORT handler)

Task-number: QTBUG-51563
Change-Id: I01493008cf9f267e758d974dab29556d0a1425ea
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
2016-03-02 06:34:06 +00:00
..
evdevkeyboard Map Shift+Tab to Shift+Backtab in evdevkeyboard 2015-07-17 11:24:35 +00:00
evdevmouse Input: Convert QScreen geometry to native pixels 2015-11-18 14:11:41 +00:00
evdevtablet Add a way for auxiliary threads to handle events without CoreApp 2015-07-18 02:24:59 +00:00
evdevtouch evdevtouch: ensure touchpoints released with typeB mtdev drivers 2016-03-02 06:34:06 +00:00
libinput Input: Convert QScreen geometry to native pixels 2015-11-18 14:11:41 +00:00
tslib Fix missing "We mean it" in qtbase private headers 2015-10-01 21:09:05 +00:00
input.pri Add libinput support 2014-12-20 23:26:49 +01:00