Commit Graph

300 Commits

Author SHA1 Message Date
Peter Hutterer
62f267a952 xf86-input-libinput 1.2.1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
xf86-input-libinput-1.2.1
2022-01-24 15:00:09 +10:00
Peter Hutterer
c1f07edafa Fix a compiler warning
xf86libinput.c:2457:89: warning: passing argument 1 of
‘libinput_event_pointer_get_axis_source’ from incompatible
pointer type [-Wincompatible-pointer-types]

No function changes due to the binary layout of libinput events but
let's not rely on that.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2022-01-24 11:38:53 +10:00
Alan Coopersmith
a3d38b0f40 Build xz tarballs instead of bzip2
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2022-01-16 21:32:35 +00:00
Alan Coopersmith
e3a75f34f8 Fix spelling/wording issues
Found by using:
    codespell --builtin clear,rare,usage,informal,code,names

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2022-01-16 11:50:26 -08:00
Luna Nova
830f7c3b1b Fix copy-paste error in LibinputInitAccelProperty checking available profiles against adaptive/flat 2021-12-18 04:55:14 +00:00
Peter Hutterer
4ab7873366 Quietly check for the _source option
xf86CheckStrOption returns the same value but doesn't mark it as used in
the server and, more importantly, doesn't spam the log with
  (**) Option "_source" "server/udev"
messages.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-11-24 01:14:05 +00:00
José Expósito
b3e65904db Make XIPropertyValuePtr verification consistent
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
2021-11-17 07:57:28 +01:00
José Expósito
75cc87518b Add an option to disable high-resolution wheel scroll
Starting on libinput 1.19 pointer axis events have been deprecated in
favor of their scroll equivalents, including support for high-resolution
wheel scroll.

While it is recommended to handle the new events, some applications
and/or frameworks might not be ready at the moment.

Provide an option to discard high-resolution wheel scroll events.

Fix #41

Signed-off-by: José Expósito <jose.exposito89@gmail.com>
2021-11-14 22:52:47 +00:00
José Expósito
3951ce739d man: fix horizontal scroll property name
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
2021-11-10 18:12:46 +01:00
Povilas Kanapickas
cbdd9efaab xf86-input-libinput 1.2.0
Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
xf86-input-libinput-1.2.0
2021-09-19 19:55:46 +03:00
Peter Hutterer
4c54f4d0d2 Rename HAS_GESTURES to HAVE_GESTURES
HAVE_FOO is generally used everywhere (see HAVE_CONFIG_H) so let's keep
this consistent.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-09-16 11:23:53 +10:00
Povilas Kanapickas
8331214771 gitlab-ci: Configure xorgproto build from source
We need newer xorgproto than what's in fedora as we depend on inputproto
2.3.99.1 or newer.
2021-09-16 11:23:53 +10:00
Povilas Kanapickas
8588a19f63 Require inputproto 2.4 to build the gesture support
Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
2021-09-16 11:23:33 +10:00
Peter Hutterer
beb94333e1 Use the new v120 API from libinput if available
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-08-06 08:45:01 +02:00
José Expósito
ca9042c7f0 Get scroll source in the event handler
Where libinput supports high-resolution scroll events, the scroll source
is encoded in the event type.

Get the scroll source in xf86libinput_handle_event to facilitate the
migration.

Refactor, no functional changes.

Signed-off-by: José Expósito <jose.exposito89@gmail.com>
2021-08-04 17:51:26 +02:00
Peter Hutterer
bf8dc2e2ed Upgrade the default scroll distance to 120
This is just a number, to be used as divider and shouldn't have any effect in
correctly written clients. With the high-res scrolling coming up however, we
have a few devices where the dist cannot be expressed as an integer fraction
of 15, so let's up it to 120 because we know all hardware wheels have to be an
integer fraction of that that, thanks to Microsoft's API requirements.

For non-wheel scrolls we need to now map into the new range. Previously we
just passed the scroll events on from the touchpad/button scrolling, meaning a
vdist of 15 meant 15 "libinput pixels" of scrolling resulted in a logical
wheel click. Now that we have 120 as vdist, we need to times the input data by
8 to keep the same proportions.

See 39b0bb4585 for the previous revert.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-08-04 12:09:54 +02:00
Povilas Kanapickas
ecd845c307 Implement support for touchpad gestures 2021-07-05 13:35:02 +00:00
Peter Hutterer
0d9184cb76 xf86-input-libinput 1.1.0
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
xf86-input-libinput-1.1.0
2021-06-24 08:26:19 +10:00
Peter Hutterer
9bb9e635df Implement a touchpad scroll distance property
To be used for touchpads and continuous (i.e. button-based scrolling).

libinput provides us with pixel data for finger-based and button-based
scrolling but the X server does support this - XI2.1 smooth scrolling is
merely centered around a logical scroll click (defined as "increment"), with
smooth scrolling being a fraction of that increment. For example, in the old
synaptics driver that value was in device-specific units and thus different
for every device.

The increment is a constant value set in the ScrollClass and cannot be changed
at device runtime. So we simply initialize with a random default (15, because
that works well for wheels) and then scale our pixel delta in to that range.

With the default value, a 15 pixel movement would result in a logical scroll
click, if the distance is set to 30 the users has to move 30 pixels to trigger
that scroll click. Pixel here being defined as the deltas that libinput
provides to us.

From the client's perspective nothing changes, the increment is still the
same.

Range checks are quite restrictive, this option is supposed to improve
usability, not as a workaround around other bugs.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-05-05 13:34:36 +10:00
Peter Hutterer
cc10918bdc Fix a spacing issue
yay for copy/paste proliferation

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-05-05 13:18:19 +10:00
Peter Hutterer
69888cef81 xf86-input-libinput 1.0.1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
xf86-input-libinput-1.0.1
2021-04-16 12:18:24 +10:00
Peter Hutterer
6c1c53d296 Make sure the device is valid when setting the tap button map
Fixes #34

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-04-09 10:33:15 +10:00
Peter Hutterer
34f14fdf12 xf86-input-libinput 1.0.0
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
xf86-input-libinput-1.0.0
2021-04-06 15:55:45 +10:00
Peter Hutterer
92047e5d99 gitlab CI: bump to use Fedora 33
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-04-06 15:55:45 +10:00
Peter Hutterer
b8d3c29f59 Remove trailing whitespaces
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-04-06 15:51:35 +10:00
Peter Hutterer
2bbc4727a1 Switch to the real MIT license
Due to a copy/paste error, the COPYING file and subsequently created files
with the same content referred to the "Historical Permission Notice and
Disclaimer - sell variant", not the proper MIT license.

Replace with the proper MIT (Expat) license and add the use SPDX license
identifiers.

Acks below are from contributors with substantial changes, collected in MR !19
or via private email correspondence.

https://gitlab.freedesktop.org/xorg/driver/xf86-input-libinput/-/merge_requests/19

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Dorian Stoll <dorian.stoll@tmsp.io>
Acked-by: Jonas Ådahl <jadahl@gmail.com>
Acked-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Acked-by: Evangelos Foutras <evangelos@foutrelis.com>
Acked-by: Niklas Haas <git@haasn.xyz>
Acked-by: Olivier Fourdan <ofourdan@redhat.com>
Acked-by: David Rosca <nowrep@gmail.com>
Acked-by: Lyude Paul <lyude@redhat.com>
Acked-by: Keith Packard <keithp@keithp.com>
Acked-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Michel Dänzer <michel@daenzer.net>
Acked-by: Tim Writer <tim.writer@amd.com>
Acked-by: Friedrich Schöller <code@schoeller.se>
Acked-by: Mikhail Konev <k.mvc@ya.ru>
Acked-by: Martin Pieuchot <mpi@openbsd.org>
2021-03-24 13:28:56 +10:00
Dorian Stoll
39be944991 Lift canceled touch inputs
If a touch input gets turned into a palm (by setting ABS_MT_TOOL_TYPE to
MT_TOOL_PALM), libinput will emit a cancel event instead of the normal
up event. The xorg wrapper needs to be able to handle a canceled touch
and lift it, otherwise these inputs will never get lifted and will stick
around forever.

Signed-off-by: Dorian Stoll <dorian.stoll@tmsp.io>
2020-11-04 23:53:01 +01:00
Povilas Kanapickas
bd2aaa246d Remove extraneous semicolon 2020-10-19 21:09:49 +03:00
Povilas Kanapickas
99773d7bda Remove unused btnmap variables 2020-10-19 21:07:47 +03:00
Peter Hutterer
3afb6244e3 Bump the server requirement to 1.19 to get rid of a bunch of ifdefs
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-05-19 16:34:18 +10:00
Peter Hutterer
f279108ffd Bump the libinput requirement to 1.11
Released June 2018, that should be recent enough.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-05-19 16:30:35 +10:00
Peter Hutterer
583ed5acdc xf86-input-libinput 0.30.0
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
xf86-input-libinput-0.30.0
2020-05-19 15:58:13 +10:00
Peter Hutterer
e8e5d1a6b5 gitlab CI: update to latest CI templates
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-05-19 15:58:13 +10:00
Peter Hutterer
639b21d78a gitlab CI: bump to Fedora 32
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-05-19 15:47:11 +10:00
Peter Hutterer
e52daf203b Implement support for scroll button locks
Add a boolean option/property to enable/disable the scroll button lock. Where
enabled, the button can be clicked and released as opposed to having to be
held down.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-10-11 11:18:52 +10:00
Peter Hutterer
400bf493d1 xf86-input-libinput 0.29.0
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
xf86-input-libinput-0.29.0
2019-08-12 12:35:51 +10:00
Peter Hutterer
27a88897be Add basic Gitlab CI for testing the build
This merely tests against the devel package in Fedora, not against the xserver
from git. Should be enough, the driver here doesn't change enough to need the
git builds.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-08-12 11:44:56 +10:00
Peter Hutterer
d5867e5db6 Fix compiler warning about unhandled switch events
This bumps the required libinput version to 1.7 - which has been out for over
two years now. That's conservative enough.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-08-12 10:36:08 +10:00
Peter Hutterer
1ef2ed874e Check for the tool type too when creating subdevices
Fixed #25

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-07-31 00:32:44 +00:00
Peter Hutterer
3c9052d886 Fix wrong enum type
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-07-31 00:32:44 +00:00
Peter Hutterer
39b0bb4585 Revert "Upgrade the default scroll distance to 120"
This was part of the high-resolution wheel work that was factored out ahead of
time. Problem is: this breaks scroll button emulation in the server as we
use the distance to determine when we click buttons 4-7.

Before: movement of 15 normalized pixel units on a touchpad - one click. Now:
120 of those units. So that's a bit less than ideal.

The change to 120 can be done, but needs the corresponding handling in the
axis distance calculations.

Fixes #24

This reverts commit 055481187d.
2019-07-30 11:51:12 +10:00
David Rosca
8923d18d25 Also use type to match tablet tool with device
On devices with tools having both serial and id 0,
it would fail to create separate subdevices.

Thinkpad X220T (Wacom ISDv4 E6) now correctly registers
Pen and Eraser xinput devices.
2019-02-25 18:43:42 +01:00
Peter Hutterer
055481187d Upgrade the default scroll distance to 120
This is just a number, to be used as divider and shouldn't have any effect in
correctly written clients. With the high-res scrolling coming up however, we
have a few devices where the dist cannot be expressed as an integer fraction
of 15, so let's up it to 120 because we know all hardware wheels have to be an
integer fraction of that that, thanks to Microsoft's API requirements.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-02-12 15:40:53 +10:00
Peter Hutterer
5a925eaa84 xf86-input-libinput 0.28.2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
xf86-input-libinput-0.28.2
2019-02-04 13:14:11 +10:00
Peter Hutterer
e7eafa199e Handle scroll wheel events with a discrete of 0
The driver currently assumes that any wheel event has a non-zero discrete
value of 1. This is incorrect, it just hasn't triggered yet with any device.

With the hi-res scroll patches in place in the kernel and libinput, we may get
wheel events with a discrete value of 0. We assume that if this ever happens,
the device has some sensible click angle set so all we need to do is ignore
the discrete 0 events and wait for the first discrete event to come.

Also add an explanatory comment too to make it clear the calculation is only
done once.

Fixes #19

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-01-25 14:31:11 +10:00
Peter Hutterer
d13ab268bd Return the wheel scroll value instead of just the fraction
This is prep work for the hi-res work but right now, no real functional
changes. It does however fix a bug where we used the vertial scroll dist for
the horizontal wheel as well.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-01-24 08:29:48 +10:00
Peter Hutterer
347c78387e Split the scroll axis details up for easier extension
If we need more per-axis fields, it's easier to add this way.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-01-21 13:08:30 +10:00
Peter Hutterer
b63f7994dc conf: add an example snippet for how to assign options
Users still like to copy the whole file, potentially messing things up.
Let's put a warning into the file directly that this is less than ideal.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-01-07 16:29:51 +10:00
Alan Coopersmith
04f42d6e0f Update configure.ac bug URL for gitlab migration
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2018-11-25 12:47:32 -08:00
Alan Coopersmith
5d341d1d6c Update README for gitlab migration
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2018-11-18 11:48:07 -08:00