Find a file
Peter Hutterer c2ef1854d8 timer: set O_NONBLOCK on the timerfd
Resetting a timerfd empties the data on the fd, so if the timer is reset
between triggering and us reading it, we may block trying to read it.

Since we read events off a device in a loop, a device sending a continuous
flow of events may cause the timer to trigger but delay reading it. If one of
the events cause e.g. the tap timer to be set, the timerfd may be empty at the
time of reading.

Suggested-by: Derek Foreman <derekf@osg.samsung.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2015-05-01 09:09:38 +10:00
doc doc: expand scrolling documentation 2015-04-28 10:47:01 +10:00
include/linux Update to v4.0 kernel header 2015-04-22 08:24:38 +10:00
m4 Port evdev code to be used as a shared library 2013-11-12 22:37:20 +01:00
src timer: set O_NONBLOCK on the timerfd 2015-05-01 09:09:38 +10:00
test test: add a note to the touch double-down event 2015-04-30 18:22:25 +10:00
tools tools: ship the event-debug tool as an installed libinput-debug-events tool 2015-04-30 19:20:49 +10:00
udev evdev: use a different filter for low resolution touchpad on the Lenovo X230 2015-04-27 10:00:10 +10:00
.gitignore add simple symbols leak checker 2015-02-13 10:20:44 +10:00
autogen.sh Port evdev code to be used as a shared library 2013-11-12 22:37:20 +01:00
configure.ac configure.ac: libinput 0.14.1 2015-04-22 09:19:13 +10:00
COPYING test: Test seat wide button and key count helpers 2014-04-23 00:07:40 +02:00
Makefile.am Add udev bits to assign LIBINPUT_DEVICE_GROUP 2015-02-18 10:08:29 +10:00
README.txt README: Add the libinput component to the bugzilla URL 2015-02-09 08:12:45 +10:00

/*!@mainpage

libinput
========

libinput is a library that handles input devices for display servers and other
applications that need to directly deal with input devices.

It provides device detection, device handling, input device event processing
and abstraction so minimize the amount of custom input code the user of
libinput need to provide the common set of functionality that users expect.

Input event processing includes scaling touch coordinates, generating
pointer events from touchpads, pointer acceleration, etc.

libinput originates from weston, the Wayland reference compositor.

The source code of libinput can be found at:
http://cgit.freedesktop.org/wayland/libinput

For more information, visit:
http://www.freedesktop.org/wiki/Software/libinput/

Bugs can be filed in the libinput component of Wayland:
https://bugs.freedesktop.org/enter_bug.cgi?product=Wayland&component=libinput

Online API documentation:
http://wayland.freedesktop.org/libinput/doc/latest/modules.html

*/