This repository was archived by the owner on Jul 21, 2024. It is now read-only.

Description
The following script should show all touch events related to the touchscreen:
from libinput import LibInput, ContextType, EventType
li = LibInput(context_type=ContextType.PATH)
device = li.add_device('/dev/input/event1')
for e in li.events:
if e.type.is_touch():
print([e.time, e.type])
Everything works fine when using single touch; we get a TOUCH_DOWN, followed by TOUCH_MOTION interlaced with some TOUCH_FRAME events, and finally a TOUCH_UP.
But when touching with two or more fingers, We get 2 TOUCH_DOWNS (slot 0 and 1), a stream of TOUCH_MOTIONS (slot 0 and 1), TOUCH_FRAME events but no TOUCH_UP.
Worse yet, using a single double finger gesture breaks single finger gestures: TOUCH_UP no longer show for single finger events after this, requirering that the script be restarded.
When checking with
everything works, the TOUCH_UP events appear everytime as expected.