Peter Hutterer 0dad7408fa Calculate the required scroll distance based on the angle
For a mouse with a click angle of 15 degrees things are unchanged. For devices
with angles less than 10, the current code scrolled way too fast. Because the
angle wasn't used anywhere, each tick would count as full scroll wheel event,
a slight movement of the wheel would thus scroll as much as a large movement
on a normal mouse.

Fix this by taking the actual click angle of the device into account. We
calculate some multiple of the angle that's close enough to the default 15
degrees of the wheel and then require that many click events to hit the full
scroll distance. For example, a mouse with a click angle of 3 degrees now
requires 5 clicks to trigger a full legacy scroll button event.

XI2.1 clients get the intermediate events (i.e. in this case five times
one-fifth of the scroll distance) and can thus scroll smoothly, or more
specifically in smaller events than usual.

https://bugs.freedesktop.org/show_bug.cgi?id=92772

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2017-01-03 15:16:21 +10:00
2016-11-01 10:30:14 +10:00
2015-08-13 07:52:48 +10:00
2015-01-21 07:13:46 +10:00
2016-12-12 14:54:00 +10:00
2014-06-26 15:35:44 +10:00
2014-11-19 14:40:58 +10:00

xf86-input-libinput - a libinput-based X driver

The official repository for this driver is http://cgit.freedesktop.org/xorg/driver/xf86-input-libinput/

This is an X driver based on libinput. It is a thin wrapper around libinput, so while it does provide all features that libinput supports it does little beyond.

WARNING: misconfiguration of an X input driver may leave you without usable input devices in your X session. Use with caution.

Prerequisites

To build, you'll need the X.Org X server SDK (check your distribution for a xorg-x11-server-devel package or similar) and libinput (check your distribution for libinput-devel or similar).

To get libinput from source, see: http://www.freedesktop.org/wiki/Software/libinput/

To build the X server from source: http://www.x.org/wiki/Building_the_X_Window_System/

Building

To build this driver:

autoreconf -vif
./configure --prefix=$HOME/build
make && make install

Note that this assumes the same prefix as used in "Building the X Window System" above, adjust as required. If you want a system install, use a prefix of /usr.

Install the default configuration file:

cp conf/99-libinput.conf /etc/X11/xorg.conf.d/

This will assign this driver to all devices. Use with caution.

Bugs

Bugs in libinput go to the "libinput" component of wayland: https://bugs.freedesktop.org/enter_bug.cgi?product=Wayland

Bugs in this driver go to the "Input/libinput" component of xorg: https://bugs.freedesktop.org/enter_bug.cgi?product=xorg

Description
No description provided
Readme 1.3 MiB
Languages
C 93.9%
M4 2.5%
Meson 1.9%
Makefile 1.5%
Shell 0.2%