summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2014-03-06 12:38:47 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2014-03-07 10:16:16 +1000
commit6ba45a0006b30cb5285b32ad8a9593854011def2 (patch)
treef74c83767aa12ceeeefd89b9a3edca9d0b0984ee
parent41334b5b40cd5456f5f584b55d8888aaafa1f26e (diff)
downloadlibevdev-6ba45a0006b30cb5285b32ad8a9593854011def2.tar.gz
Add a documentation note to update the slot after syncing
Clients may not care about the events generated during SYN_DROPPED, but the current slot must be updated to avoid a client being out-of-date. Same with tracking IDs, if they changed, the caller will likely have to update some internal states. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
-rw-r--r--libevdev/libevdev.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/libevdev/libevdev.h b/libevdev/libevdev.h
index 6920a76..481e378 100644
--- a/libevdev/libevdev.h
+++ b/libevdev/libevdev.h
@@ -707,7 +707,11 @@ enum libevdev_read_status {
* If a device needs to be synced by the caller but the caller does not call
* with the @ref LIBEVDEV_READ_FLAG_SYNC flag set, all events from the diff are
* dropped after libevdev updates its internal state and event processing
- * continues as normal.
+ * continues as normal. Note that the current slot and the state of touch
+ * points may have updated during the SYN_DROPPED event, it is strongly
+ * recommended that a caller ignoring all sync events calls
+ * libevdev_get_current_slot() and checks the ABS_MT_TRACKING_ID values for
+ * all slots.
*
* If a device has changed state without events being enqueued in libevdev,
* e.g. after changing the file descriptor, use the @ref