Find a file
Peter Hutterer 411f95b17f tablet: sync tools already in proximity at startup
If a tool is in proximity when we init, send a proximity event immediately.

This is only partially reliable due to the current kernel behavior:
* if the tool comes into proximity when there is no evdev client, the device
  won't send any events and must be lifted out-of-proximity first. Patch is in
  the works, see https://patchwork.kernel.org/patch/5924611/
* before 3.19, if the tool was in proximity (with an evdev client attached),
  but goes out of proximity and back in with no client connected, we get an
  immediate proximity out event from the kernel once we connect to the device
  and no further events after that.
  See kernel commit b905811a49bcd6e6726ce5bbb591f57aaddfd3be

Otherwise, things work as expected. The above should be fixed in the kernel
anyway.

Note that this changes the order of events during a udev seat init, before we
had all DEVICE_ADDED events in a row, now the proximity event may be
interspersed.

Reported-by: Jason Gerecke <killertofu@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2015-03-05 11:23:38 +10:00
doc A whole bunch of documentation updates/improvements 2015-03-02 12:45:47 +10:00
include/linux evdev: Add middle button scrolling for trackpoints 2014-09-18 13:29:42 +10:00
m4 Port evdev code to be used as a shared library 2013-11-12 22:37:20 +01:00
src tablet: sync tools already in proximity at startup 2015-03-05 11:23:38 +10:00
test tablet: sync tools already in proximity at startup 2015-03-05 11:23:38 +10:00
tools tools: record the start time before doing anything with libinput 2015-03-04 16:33:10 +10:00
udev Add udev bits to assign LIBINPUT_DEVICE_GROUP 2015-02-18 10:08:29 +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 tablet: use libwacom to identify tablets for left-handedness 2015-03-02 13:20:44 +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

*/