summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDave Carey <carvsdriver@gmail.com>2026-05-14 22:32:58 +0300
committerJiri Kosina <jkosina@suse.com>2026-06-10 19:28:19 +0300
commitef257b8be9776915ca468bae6c91e31757e69734 (patch)
treee143d846d4db2c87c7f555271253f20fa803f06d /include
parentf1bd44b9b62c6fbdaacdd5d115ebe3fe543fcfa1 (diff)
downloadlinux-ef257b8be9776915ca468bae6c91e31757e69734.tar.xz
HID: multitouch: Honor ContactCount for Yoga Book 9 to suppress ghost contacts
The INGENIC 17EF:6161 firmware on the Lenovo Yoga Book 9 14IAH10 does not clear stale contact slots when fingers are lifted. Each HID report contains up to 10 finger slots, but only the first ContactCount slots represent valid contacts; the remaining slots retain TipSwitch=1 with positions from previous touches. Raw HID capture confirms this: across a 60-second capture with repeated multi-finger gestures, 90% of frames had more TipSwitch=1 slots than the reported ContactCount. The ContactCount field itself is always accurate. Add MT_QUIRK_CONTACT_CNT_ACCURATE to the MT_CLS_YOGABOOK9I class so the driver stops processing slots once ContactCount valid contacts have been consumed, discarding the stale ghost entries per HID specification section 17. MT_QUIRK_NOT_SEEN_MEANS_UP (already in the class) ensures that any slot skipped by this guard is released via INPUT_MT_DROP_UNUSED at frame sync. Signed-off-by: Dave Carey <carvsdriver@gmail.com> Tested-by: Dave Carey <carvsdriver@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.com>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions