Skip to content

touchpad: never reduce the slot count to 0

Where a user releases all touches during a SYN_DROPPED and then puts more than one finger back down before we sync, we end up with nonzero fake touches but a zero slot count. This is caused by a wrong event sequences provided by libevdev in that case.

This really needs to be fixed in libevdev, see libevdev/libevdev!19 (merged)

In the meantime, put a check in to ignore that case and never reduce the slot count to 0. It still leaves us open for some issues where 3fg gestures may stop working if the right sequences are triggered during SYN_DROPPED but updating libevdev will eventually make that go away too.

Fixes #422 (closed)

Merge request reports