Unless you have at least some understanding of this page http://www.mjmwired.net/kernel/Document ... otocol.txt stop reading NOW !
In an attempt to get a good understanding of the multitouch events that come from the /dev/inupt/eventsX device I've written a Finite State Machine (FSM) to track the messages and the state of each of the tracking slots.
However my FSM keeps telling me it is receiving unexpected events for the state it is in.
Most of the time I'm seeing sequences like this:
Tracking ID assigned to slot.
X coordinate set for slot
Y coordinate set for slot
SYN (1)
X coordinate set for slot
Y coordinate set for slot
Tracking ID set to -1 for the slot.
SYN (2)
SYN (1) can be used to create a "finger on" event at the given coordinates.
SYN (2) can be used to create a "finger off" event at the given coordinates.
But sometimes I see sequences like this :
Tracking ID assigned to slot.
X coordinate set for slot
Tracking ID set to -1 for the slot.
SYN
Since a pair of X and Y coordinates have not been received for the slot neither a "finger on" nor "finger off" event can be generated even though a touch has occurred.
Has anyone else seen things like this ? As far as I can tell I'm not dropping any events.
PeterO