Find a file
Peter Hutterer 33d0fff566 test: add a few sync test cases for incomplete syncs
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-07-02 14:02:58 +10:00
doc doc: set doxygen to quiet mode 2013-07-01 08:33:53 +10:00
libevdev If we don't have anything to sync, don't add a EV_SYN event 2013-07-02 14:02:58 +10:00
test test: add a few sync test cases for incomplete syncs 2013-07-02 14:02:58 +10:00
tools Add a flag for blocking read 2013-07-02 10:59:01 +10:00
.gitignore gitignore: add generated doxygen file 2013-07-01 10:10:25 +10:00
configure.ac Use doxygen instead of man pages 2013-06-27 10:41:54 +10:00
COPYING libevdev is a library to handle evdev devices 2013-05-29 15:33:21 +10:00
libevdev.pc.in libevdev is a library to handle evdev devices 2013-05-29 15:33:21 +10:00
Makefile.am Build doc first, to see the warnings better 2013-06-28 10:18:03 +10:00
README.md README: Add link to API documentation 2013-06-28 06:38:34 +10:00

libevdev - wrapper library for evdev input devices

libevdev is a wrapper library for evdev devices. it moves the common tasks when dealing with evdev devices into a library and provides a library interface to the callers, thus avoiding erroneous ioctls, etc.

http://github.com/whot/libevdev

libevdev is currently in early stages of development. Use at your own risk

The eventual goal is that libevdev wraps all ioctls available to evdev devices, thus making direct access unnecessary.

Go here for the API documentation: http://whot.github.io/libevdev/

ioctl wrappers

libevdev provides interfaces to query a device's capabilities, providing type-safe interfaces to query and set a device's capabilities and state.

SYN_DROPPED handling

SYN_DROPPED is sent by the kernel if userspace cannot keep up with the reporting rate of the device. Once the kernel's buffer is full, it will issue a SYN_DROPPED event signalling dropped event. The userspace process must re-sync the device.

libevdev semi-transparently handles SYN_DROPPED events, providing an interface to the caller to sync up device state without having to manually compare bitfields. Instead, libevdev sends the 'missing' events to the caller, allowing it to use the same event processing paths as it would otherwise.