Find a file
Peter Hutterer 1baf109b40 Change axis events to carry all directions
Sending separate axis events instead of one unified events is limiting,
especially when simultaneously scrolling in both directions and the caller
tries to implement kinetic scrolling.

Take a page from the tablet-support branch and instead implement the axis
event as a generic event that can contain multiple axes simultaneously.

Right now we only have two (scroll) axes and we could easily just check both
for non-zero values. If we want to allow further axes in the future, we need
a check whether an axis is set in an event, that's what
libinput_event_pointer_has_axis to scroll events() is for.

We also need the mask to notify of a scroll stop event, which could otherwise
be confused as a vertical-only or horizontal-only event.

This is an API and ABI break.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2015-01-13 13:54:21 +10:00
doc Parse the MOUSE_WHEEL_CLICK_ANGLE udev property if present 2015-01-13 13:35:42 +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 Change axis events to carry all directions 2015-01-13 13:54:21 +10:00
test Change axis events to carry all directions 2015-01-13 13:54:21 +10:00
tools Change axis events to carry all directions 2015-01-13 13:54:21 +10:00
.gitignore Add the framework for a test suite 2014-01-10 14:17:06 +10:00
autogen.sh Port evdev code to be used as a shared library 2013-11-12 22:37:20 +01:00
configure.ac Added configure option for documentation build. 2014-12-19 08:39:59 +10:00
COPYING test: Test seat wide button and key count helpers 2014-04-23 00:07:40 +02:00
Makefile.am test: automatically run the tests against valgrind for leaks 2014-04-10 11:11:56 +10:00
README.txt doc: include README as mainpage 2014-12-11 12:26:03 +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

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

*/