Timo Aaltonen pushed to branch upstream-unstable at X Strike Force / lib / 
libinput


Commits:
be3c09bc by José Expósito at 2021-10-30T12:10:10+02:00
doc/user: fix broken link to systemd 60-evdev.hwdb

Signed-off-by: José Expósito <[email protected]>

- - - - -
5e44861e by José Expósito at 2021-11-04T18:40:54+01:00
gestures: cancel hold gestures on thumb detection

Before hold gestures where implemented, when a thumb was detected it
was enough to reset the state machine.
However, now it is possible to detect a thumb while a hold gesture is
in course.

Cancel any ongoing gesture when a thumb is detected to avoid dropping
the gesture end event.

See #693

Signed-off-by: José Expósito <[email protected]>

- - - - -
4e52f035 by José Expósito at 2021-11-08T18:00:34+01:00
wheel: centralize wheel handling

Move the logic to handle wheels to its own file.
Refactor, no functional changes.

Signed-off-by: José Expósito <[email protected]>

- - - - -
5f0d191e by José Expósito at 2021-11-08T18:00:46+01:00
wheel: refactor wheel scroll flushing

Move the logic to flush wheel scroll to it's own funtion.
Refactor, no functional changes.

Signed-off-by: José Expósito <[email protected]>

- - - - -
08245c77 by José Expósito at 2021-11-08T18:00:46+01:00
wheel: handle with a state machine

In order to be able to add more complex rules in the future, transform
the current wheel handling code into a state machine.

Signed-off-by: José Expósito <[email protected]>

- - - - -
b6a944bb by José Expósito at 2021-11-08T18:00:46+01:00
wheel: ignore initial small scroll deltas

Mice with high-resolution support can generate deltas when the finger is
put on the wheel or when the user tries to click the wheel.

To avoid sending involuntary scroll events, add an extra state the the
wheel state machine to accumulate scroll deltas.
While the accumulated scroll is lower than a certain threshold, ignore
them until the threshold is reached.

Since no finish event is sent by the mouse, reset the state machine
after a period of scroll inactivity.

Signed-off-by: José Expósito <[email protected]>

- - - - -
d21f1ab7 by José Expósito at 2021-11-08T18:00:46+01:00
wheel: accumulate scroll when direction changes

Most mice with high-resolution support have a mechanism in place to
adjust the wheel to a detent. When scrolling, it is possible to stop
between two detents and this mechanism could generate a small amount of
scroll in the oposite direction.

Track the scroll direction in the wheel state machine and reset it when
the direction changes to avoid this issue.

Signed-off-by: José Expósito <[email protected]>

- - - - -
beea00bc by José Expósito at 2021-11-09T04:58:07+00:00
gestures: rename event handlers

Follow the name convention used in evdev-wheel.c and rename the handle
event functions from "tp_gesture_[STATE]_handle_event" to
"tp_gesture_handle_event_on_state_[STATE]".

Signed-off-by: José Expósito <[email protected]>

- - - - -
607abecf by Gary Wolfe at 2021-11-09T05:29:06+00:00
quirks: Dell 15R touchpad settings for firmware v3

Trackpad sensitivity adjustment only needed for v3 for Dell Inspiron 15R N5110.
Fixes #565 and #676.

Signed-off-by: Gary Wolfe <[email protected]>

- - - - -
d1f274c7 by Peter Hutterer at 2021-11-10T22:19:48+00:00
quirks: add a more generic match for the 5288 Synaptics clickpad

This is a clickpad announcing BTN_RIGHT in different machines, see
issue #674, #689, #629 and MR !701. There are at least 4 machines that
ship with this device that we had to quirk independently, possibly
others so disabling BTN_RIGHT on all of them makes sense.

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
3cb39abe by Peter Hutterer at 2021-11-16T06:47:48+00:00
doc/user: expand the udev rules for better readability

Split it over multiple lines and use fake cat command to show where that
rule could live.

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
86698c81 by Peter Hutterer at 2021-11-16T06:47:48+00:00
doc/user: add an example udev rule for LIBINPUT_IGNORE_DEVICE

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
69a3ed42 by Peter Hutterer at 2021-11-18T08:32:48+10:00
quirks: make a wacom quirk more descriptive

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
b5f0536a by Peter Hutterer at 2021-11-18T08:32:48+10:00
quirks: add a quirk for the Wacom 524c device

Has tilt, doesn't use it

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
8fecb191 by Peter Hutterer at 2021-11-18T10:11:43+10:00
Use bit(foo) instead of (1 << foo)

Translates to the same thing, but the bit() helper is nicer and less
likely to be typoed.

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
35c5ef4e by Alexander Radovich at 2021-11-23T17:15:22+00:00
quirks: add ModelBouncingKeys for A4Tech X-710BK Mouse

Signed-off-by: Alexander Radovich <[email protected]>

- - - - -
878d00b0 by Peter Hutterer at 2021-11-24T06:17:31+00:00
test: add tip down/up helper functions

Add two helper functions that set/unset BTN_TOUCH together with the
specified axes and switch all tests over.

Devices can override the tip down/up sequence.

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
9f62995e by Peter Hutterer at 2021-11-24T06:17:31+00:00
test: add missing tool event in the aiptek tablet test device

Needed for eraser tests

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
aa7da4c0 by Peter Hutterer at 2021-11-24T06:17:31+00:00
test: add a tablet test for eraser tip down

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
556e4114 by José Expósito at 2021-11-28T13:49:14+01:00
doc/user: fix broken link to "Observations on trackpoint input data"

Signed-off-by: José Expósito <[email protected]>

- - - - -
0bd15607 by Joaquin Gonzalez at 2021-11-29T04:34:06+00:00
quirks: changes touchpad pressure Lenovo Yoga 2 Pro

Adds touchpad pressure configuration for Lenovo Yoga 2 Pro in order to avoid 
random cursor jumps on finger up.

Signed-off-by: Joaquin Gonzalez <[email protected]>

- - - - -
fbe5d35d by José Expósito at 2021-12-02T12:00:52+00:00
touchpad: revert the clickpad detection mechanism

Use the previous heuristics to detect clickpads where a touchpad was
handled as a clickpad when:

 - The property INPUT_PROP_BUTTONPAD is set
 - The property INPUT_PROP_BUTTONPAD is NOT set but the touchpad only
   has BTN_LEFT

Revert a37d6dcc9c2ec7ebd0d3609e01da1cfcec28db6e:
"touchpad: if we have a right button, let's assume it's not a 
clickpad"
MR:  https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/614
BUG: https://gitlab.freedesktop.org/libinput/libinput/-/issues/595

Fix #704

Signed-off-by: José Expósito <[email protected]>

- - - - -
a694a06b by José Expósito at 2021-12-03T00:20:47+00:00
evdev: refactor joystick/gamepad detection

Move the logic to detect joysticks and gamepads to its own function.

Refactor, no functional changes.

Signed-off-by: José Expósito <[email protected]>

- - - - -
8dd8786c by José Expósito at 2021-12-03T00:20:47+00:00
evdev: improve joystick and gamepad detection

The EVDEV_UDEV_TAG_JOYSTICK is set when a joystick or gamepad button
is found. However, it can not be used to identify joysticks or
gamepads because there are keyboards that also have it. Even worse,
many joysticks also map KEY_* and thus are tagged as keyboards.

In order to be able to detect joysticks and gamepads and
differentiate them from keyboards, apply the following rules:

  1. The device is tagged as joystick but not as tablet
  2. It has at least 2 joystick buttons
  3. It doesn't have 10 keyboard keys

Fix #701
Fix #415
Fix #703

Signed-off-by: José Expósito <[email protected]>

- - - - -
64a49d18 by Peter Hutterer at 2021-12-07T11:18:01+10:00
timer: rate-limit the "timer expiry in the past" error messages

We already ratelimit the normal notification about event processing
lagging behind but in the case of timers actually expiring late, we'd
pass those messages on. So lots of clicks on a slow-reponse system
resulted in lots of messages triggered by the debounce timers.

Use the same ratelimiting as the event processing warning, 5 messages
per hour which should be a good balance between warning and not spamming
the log.

Fixes #711

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
a1e91502 by Peter Hutterer at 2021-12-07T11:54:08+10:00
timer: only warn about timer expiry issues when we're more than 20ms behind

The most common trigger for this is the debouncing timer which is a mere
12ms and is effectively unavoidable, virtually every caller will
trigger those messages at some point.

Let's add a grace period of 20ms below which we don't log this message
to avoid logspam. And in the process, bump the equivalent warning
message up to 20ms as well.

Related #711

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
00e0c176 by Peter Hutterer at 2021-12-13T10:35:24+10:00
doc/user: write an article explaining the different contexts

This is a common question I need to answer, let's make this a link I can
copy/paste instead.

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
1262c81d by José Expósito at 2021-12-14T05:42:35+00:00
gestures: do not use thumb for pinch when is used to press the clickpad

The changes made in ca3df8a076d54a93b3c2fb8a5eea4326d487050c to improve
pinch detection introduced a regression:

When the thumb is used to press the clickpad it is automatically tagged
as thumb and the gesture state machine does not initialize it, leaving
its initial X and Y position set to 0.
When another finger is put on the clickpad, the distance moved by the
thumb is checked and because its initial position is 0 movement is
detected.

Add an additional check to take into account only thumbs that are used
in the gesture.

Fix #708

Signed-off-by: José Expósito <[email protected]>

- - - - -
23f5d907 by Peter Hutterer at 2021-12-14T08:09:20+00:00
test: allow for a hold end event when verifying touch motion

Depending on how quick the test suite runs we may get a hold end event
here. Let's silently ignore that one since we aren't interested in it.

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
167cebf7 by Peter Hutterer at 2021-12-14T08:09:20+00:00
test: add a test device for the Wacom 524C device

This device triggers a kernel bug in the InRange and Invert handling,
every time BTN_TOUCH is set the device also sets BTN_TOOL_PEN even when
we currently have the eraser in proximity.

Recording from https://github.com/linuxwacom/xf86-input-wacom/issues/186

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
57a592e2 by Peter Hutterer at 2021-12-14T08:09:20+00:00
tablet: handle a BTN_TOOL_PEN on top of BTN_TOOL_RUBBER

The Wacom 524C device triggers a kernel bug in the InRange and Invert
handling. Every time BTN_TOUCH is set/unset the device also sets/unsets
BTN_TOOL_PEN even when we nominally have the eraser in proximity.

The event sequence effectively looks like this:

    # on prox in
    BTN_TOOL_RUBBER 1
    -- SYN_REPORT ---
    # on tip down
    BTN_TOOL_PEN 1
    BTN_TOUCH 1
    -- SYN_REPORT ---
    # on tip up
    BTN_TOUCH 0
    BTN_TOOL_PEN 0
    -- SYN_REPORT ---
    # on prox out
    BTN_TOOL_RUBBER 1
    -- SYN_REPORT ---

To work around this, bias our duplicate tool detection code towards the
eraser - if we have an eraser in-prox already and the pen goes
in-prox, ignore it and continue with the eraser. But if we have a pen
in-prox and the eraser goes in-prox as well, force a prox-out for the
pen and put the eraser in-prox.

Recording originally from
https://github.com/linuxwacom/xf86-input-wacom/issues/186

Fixes #702

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
5a568cfa by Peter Hutterer at 2021-12-22T15:07:56+10:00
evdev: silence a clang compiler warning

Signed-off-by:Peter Hutterer <[email protected]>

- - - - -
e4548f58 by Peter Hutterer at 2021-12-23T08:18:06+10:00
meson.build: disable -Wunused when building the litest selftest

We use check directly to test the various litest bits, so if ifdef out
the litest main() and a few other bits. This results in compiler
warnings that aren't worth fixing - a lot of moving code around for no
real benefit.

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
cddf9569 by José Expósito at 2021-12-29T18:11:55+01:00
quirks: Remove Lenovo Trackpoint Keyboard II quirk

The device sends its own scroll events when its trackpoint is moved
while the middle button is pressed.

Because scroll events are not going to be inhibited after a certain
amount of scroll is detected in a follow up commit, remove the quirk.

This reverts 53bd70f4c7e2 ("quirks: Lenovo Trackpoint Keyboard II")

Signed-off-by: José Expósito <[email protected]>

- - - - -
cf6c9711 by José Expósito at 2021-12-30T08:32:40+01:00
wheel: allow to scroll while middle button is pressed

Since cd4f2f32b57a ("fallback: disable mouse scroll wheel while middle
button is pressed") the mouse wheel is inhibited while the mouse wheel
is pressed.

The original intention of this feature was to avoid unintended scroll
while pressing the scroll wheel. However, now that high-resolution
scroll is fully integrated in libinput we can improve this feature and
filter unintended scroll (below half a detent) and allow it when it is
intended (over half a detent).

Remove the "WHEEL_STATE_PRESSED" state from the wheel state machine 
and
let the general heuristics handle this case.

Also, remove the specific tests for this feature as now it is covered
by the general test cases.

Signed-off-by: José Expósito <[email protected]>

- - - - -
c8d75da2 by José Expósito at 2022-01-15T13:45:48+01:00
tools: remove hardcoded value for boolean quirks

When a boolean quirk was displayed its real value was ignored and
instead a hardcoded value of 1 was always used.

Get the quirk real value and display it.

Fix #725

Signed-off-by: José Expósito <[email protected]>

- - - - -
7d309cc1 by spacefreak86 at 2022-01-20T04:44:07+00:00
quirks: Add Asus ROG Strix G15 2021 keyboard quirk

- - - - -
e9aba30a by Peter Hutterer at 2022-01-27T09:16:46+10:00
gitlab CI: update to latest CI templates

This include ci-templates commit 0c312d9c7255f which hopefully fixes our
current headaches with the one non-signed-off commit that somehow
managed to find its way into the repo.

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
8f533776 by José Expósito at 2022-01-27T08:35:30+01:00
gestures: fix disambiguation between two finger pinch and scroll

The changes introduced in b5b6f835af2e99b6a4e64fb0174ab551ed141763 to
add support for hold gestures introduced a regression:

The mechanism that was in place to improve the disambiguation between
two finger pinch and scroll during the beginning of the gesture stopped
working and instead a bug warning was printed on the log.

Fix the regression by allowing to go from the scroll state to the pinch
state.

Fix #726

Signed-off-by: José Expósito <[email protected]>

- - - - -
e9ccd4f4 by José Expósito at 2022-01-27T08:35:30+01:00
doc: document disambiguation between two finger pinch and scroll

Signed-off-by: José Expósito <[email protected]>

- - - - -
232c9934 by Tiger Kaovilai at 2022-02-03T01:28:55+00:00
Update 50-system-hp.quirks with 15-bl000 volume button quirks

https://bugzilla.redhat.com/show_bug.cgi?id=2048628

Signed-off-by: Passawit Kaovilai <[email protected]>

- - - - -
8e410895 by José Expósito at 2022-02-03T07:56:40+01:00
libinput 1.19.901

Signed-off-by: José Expósito <[email protected]>

- - - - -
748280f9 by Alberto Fanjul at 2022-02-07T21:26:47+01:00
pad: load libwacom device by path, not by usbid

to avoid conflicts with vendors reusing vid:pid try to find first by path

Signed-off-by: Alberto Fanjul <[email protected]>

- - - - -
6914b41d by Peter Hutterer at 2022-02-11T07:45:40+00:00
doc: correct the documentation for reporting trackpoint bugs

libinput measure trackpoint-range was removed in 1.12

Fixes #734

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
dc86d66a by José Expósito at 2022-02-14T19:30:34+01:00
doc/user: clarify fork visibility

Clarify that when forking libinput the public visibility level should be
selected. Otherwise, CI pipelines will fail on merge requests.

Also, update the fork URL.

Signed-off-by: José Expósito <[email protected]>

- - - - -
e3b99fb3 by Markus Wall at 2022-02-15T06:34:55+00:00
Add quirks for Lenovo Legion Y740

This makes disable-when-typing for the touchpad work properly
on the Lenovo Legion Y740.

Tested on Lenovo Legion Y740-15IRHg.

Signed-off-by: Markus Wall <[email protected]>

- - - - -
4d5d6e7b by Markus Wall at 2022-02-15T20:02:38+01:00
quirks: add lenovo legion slim 7

This makes disable-when-typing for the touchpad work properly
on the Lenovo Legion Slim 7.

Signed-off-by: Markus Wall <[email protected]>

- - - - -
7850e4ae by José Expósito at 2022-02-19T13:32:09+01:00
libinput 1.20.0

Signed-off-by: José Expósito <[email protected]>

- - - - -


30 changed files:

- .gitlab-ci.yml
- .gitlab-ci/ci.template
- doc/touchpad-gestures-state-machine.svg
- doc/user/contributing.rst
- doc/user/device-configuration-via-udev.rst
- doc/user/faqs.rst
- doc/user/reporting-bugs.rst
- doc/user/tablet-debugging.rst
- doc/user/trackpoints.rst
- meson.build
- + quirks/30-vendor-a4tech.quirks
- quirks/30-vendor-starlabs.quirks
- quirks/30-vendor-synaptics.quirks
- quirks/30-vendor-wacom.quirks
- quirks/50-system-asus.quirks
- quirks/50-system-dell.quirks
- quirks/50-system-hp.quirks
- quirks/50-system-lenovo.quirks
- − quirks/50-system-prestigio.quirks
- − quirks/50-system-purism.quirks
- src/evdev-fallback.c
- src/evdev-fallback.h
- src/evdev-middle-button.c
- src/evdev-mt-touchpad-buttons.c
- src/evdev-mt-touchpad-gestures.c
- src/evdev-mt-touchpad-tap.c
- src/evdev-mt-touchpad.c
- src/evdev-tablet-pad-leds.c
- src/evdev-tablet-pad.c
- src/evdev-tablet.c


The diff was not included because it is too large.


View it on GitLab: 
https://salsa.debian.org/xorg-team/lib/libinput/-/compare/11f878df884adc3a13d1df8b40c1947616283ef8...7850e4aecd188bcc3779957a670017e3edb9bced

-- 
View it on GitLab: 
https://salsa.debian.org/xorg-team/lib/libinput/-/compare/11f878df884adc3a13d1df8b40c1947616283ef8...7850e4aecd188bcc3779957a670017e3edb9bced
You're receiving this email because of your account on salsa.debian.org.


Reply via email to