Find a file
Peter Hutterer fe34f7cff7 Move libevdev-events over to a tools directory
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2013-06-04 11:39:32 +10:00
libevdev Allow libevdev_free on a NULL pointer. 2013-06-04 11:39:32 +10:00
man Expose phys/uniq to the caller 2013-06-03 15:25:13 +10:00
test Move libevdev-events over to a tools directory 2013-06-04 11:39:32 +10:00
tools Move libevdev-events over to a tools directory 2013-06-04 11:39:32 +10:00
.gitignore Move libevdev-events over to a tools directory 2013-06-04 11:39:32 +10:00
configure.ac Move libevdev-events over to a tools directory 2013-06-04 11:39:32 +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 Move libevdev-events over to a tools directory 2013-06-04 11:39:32 +10:00
README.md Update README 2013-06-03 15:25:15 +10:00

libevemu - wrapper library for evdev input devices

libevdevdev 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.

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.

libevdevdev 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.