Find a file
Peter Hutterer cbb2d1391b tools: add a tool to build and publish the documentation
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-28 13:18:28 +10:00
doc Use doxygen instead of man pages 2013-06-27 10:41:54 +10:00
libevdev Add a FIXME to log a warning message 2013-06-28 12:51:16 +10:00
test test: close the right pipe fds 2013-06-28 13:15:27 +10:00
tools tools: add a tool to build and publish the documentation 2013-06-28 13:18:28 +10:00
.gitignore Update gitignore 2013-06-27 10:41:54 +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.