Commit graph

4983 commits

Author SHA1 Message Date
PLTorrent
7c87d3e671 Add support for Matebook X Pro 2024 Touchpad
Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/998>
2024-05-05 21:23:45 +00:00
Marge Yang
0c347a9728 quirks: add quirk for HP Haptics Touchpad.
This Touchpad is a pressure pad and needs the pressure
handling disable.

Signed-off-by: Marge Yang <marge.yang@synaptics.corp-partner.google.com>
Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/995>
2024-04-30 06:59:42 +00:00
Julian Orth
857780ede7 Ring positions increase clockwise
Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/994>
2024-04-29 15:06:13 +00:00
Peter Hutterer
ace22ad0b0 gitlab CI: don't run MR pipelines in forks
Commit originally by Simon Ser in wayland/wayland-protocols!305.

Currently our CI setup has a downside: for each push on a merge
request, two pipelines are triggered. The first is triggered in
the context of the forked repository, and the second is triggered
in the context of the MR in the parent repository.

Replace the workflow rules with the ones in the official docs [1],
so that a branch pipeline isn't triggered when a MR exists for that
branch.

[1]: https://docs.gitlab.com/ee/ci/yaml/workflow.html#switch-between-branch-pipelines-and-merge-request-pipelines

Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/993>
2024-04-29 14:50:07 +10:00
Martin Rys
a191a46a78 Include COMPOSE and KANA keys in tests
Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/990>
2024-04-28 23:59:14 +00:00
Martin Rys
7c91e3539c Add definitions for LIBINPUT_LED_COMPOSE and LIBINPUT_LED_KANA
Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/990>
2024-04-28 23:59:14 +00:00
Yogas Kung
ed9570df60 quirks: increase MacBook touchpad AttrPalmSizeThreshold 2024-04-24 04:11:51 +00:00
Peter Hutterer
aebd81162b quirks: add quirk for RazerBladeAdvancedLate2019
Generated by tools/razer-quirks-lister.py

Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/992>
2024-04-23 13:52:48 +10:00
Peter Hutterer
ba761664e8 pad: implement strip support for non-Wacom tablets
Wacom's strips are a log(2) value range which is a quirk specific to
that vendor. On other devices let's normalize the value normally.

Related #989

Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/989>
2024-04-23 01:31:48 +00:00
Peter Hutterer
c5b732cc38 pad: rename two helper functions
This is the specific behavior of the Wacom strips and rings, so let's
add wacom to the name.

Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/989>
2024-04-23 01:31:48 +00:00
Maarten de Vries
a8acd4a692 quirks: add quirk for Lenovo Legion keyboard 048d:c103 2024-04-22 12:37:46 +02:00
Tarcísio Eduardo Moreira Crocomo
955158f982 fix: unnecessary braces and mistake in doc
Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/988>
2024-04-09 23:40:34 -03:00
Tarcísio Eduardo Moreira Crocomo
46d1fff0b0 touchpad: add clickfinger button map
Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/988>
2024-04-09 19:08:17 -03:00
José Expósito
1d5d45a251 touchpad: use boolean operator for booleans
Detected while compiling with Sparse enabled.

Signed-off-by: José Expósito <jose.exposito89@gmail.com>
Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/987>
2024-03-18 23:35:34 +00:00
José Expósito
f6a1f264df sparse: make some variables static
Fix warnings about variables that should be made static when compiling
with Sparse enabled:

        $ CC=cgcc meson builddir

Signed-off-by: José Expósito <jose.exposito89@gmail.com>
Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/987>
2024-03-18 23:35:34 +00:00
Peter Hutterer
74f69dc9a0 test: replace an assert with double_ge
Better test debugging this way.

Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/986>
2024-03-18 23:02:05 +00:00
Peter Hutterer
4d9b25b234 test: force the apple magicmouse to 1000dpi
Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/986>
2024-03-18 23:02:05 +00:00
Peter Hutterer
47f94633fe test: remove some old compat code for kernel<4.5
Kernel 4.5 and libevdev 1.5 were released in 2016, this code is no
longer necessary.

Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/986>
2024-03-18 23:02:05 +00:00
Peter Hutterer
3d246ef248 test: remove a workaround for libevdev 1.2 and earlier
libevdev 1.3 was released in 2014.

Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/986>
2024-03-18 23:02:05 +00:00
Peter Hutterer
02d01a53c6 util: slightly improve the trace() macro
Only one printf call instead of three, means better termination of the
color code. And auto-append the newline while we're there and use the
ANSI defines we have since added.

Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/984>
2024-03-18 16:25:47 +00:00
Peter Hutterer
bb1b1304df test: fix two wrong timeout calls
This are tests with drag lock enabled, so our timeout needs to be
be the tap and drag timeout (which is higher than the normal tap timeout).
Only worked because they're similar enough that if there's a bit of a
delay, the extra ms push us over the line.

Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/984>
2024-03-18 16:25:47 +00:00
Peter Hutterer
09b59e42fb test: fix some tests that may cause pointer jumps
Increase the number of events to move from one position to the next to
avoid accidental pointer jumps.

Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/984>
2024-03-18 16:25:47 +00:00
Peter Hutterer
34f86489a8 Revert "test: allow for substring matching in the various --filter- arguments"
Substring matching means it's impossible to select filters that are
substrings of others, making it too painful to test one specific filter.

This reverts commit a524cf9761.

Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/984>
2024-03-18 16:25:47 +00:00
Peter Hutterer
c775c23121 test: slightly increase the finger switch timeout wait
In touchpad_2fg_scroll_return_to_motion we sometimes fail because the
timeout is too close to the actual timeout expiry, creating a race
condition on whether the scroll stop event (triggered by the gesture
end) is sent before or after the timeout expiry.

Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/984>
2024-03-18 16:25:47 +00:00
Peter Hutterer
30c6d5983d test: add two more more libinput_dispatch() calls
We're writing a lot of events here, if the system isn't fast enough or
(in the future) if we have a custom socket instead of a kernel device we
might fill up the write buffer, causing the test to fail.

Easy workaround is to dispatch more often to ensure the data is being
read from the fd.

Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/984>
2024-03-18 16:25:47 +00:00
Peter Hutterer
d6e54c3597 util: fix error in mkdir_p if a parent directory fails to be created
Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/984>
2024-03-18 16:25:47 +00:00
Peter Hutterer
9c69152428 Move mkdir_p into a utility header
Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/984>
2024-03-18 16:25:47 +00:00
Peter Hutterer
3644372696 test: add helpers for checking (negative) errnos
This way we get to see the actual error when it happens.

Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/984>
2024-03-18 16:25:47 +00:00
Peter Hutterer
4935e52652 util: add a LIST_INIT macro
Necessary for the case where we need a compile-time initialized list.

Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/984>
2024-03-18 16:25:47 +00:00
Peter Hutterer
3a935507ae ci: bump to Fedora 39 and FreeBSD to 13.2
Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/985>
2024-03-18 12:31:59 +10:00
Peter Hutterer
301895685e tools: fix two black warnings
Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/985>
2024-03-18 12:29:57 +10:00
Peter Hutterer
bf061ad157 quirks: Add a the onebutton apple touchpad quirk for an old MacBook
This is a 2006 Macbook, model A1181. Should fix the warning:
  event9  - appletouch: kernel bug: missing right button, assuming it is a clickpad.

Related #981

Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/983>
2024-03-13 11:52:00 +00:00
Peter Hutterer
15609213a6 touchpad: disable the immediate scroll state if tapping is enabled
On a touchpad without gestures we would take a 2-finger touch as
immediate start to a 2-finger scroll gesture. This effectively removes
the 1mm threshold we otherwise have before scrolling is assumed to have
started.

If tapping is enabled and a user triggers a small motion event this
results in scroll events being sent before the two-finger tap.

Closes #981

Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/982>
2024-03-12 15:19:59 +10:00
Derrick Timmermans
6faab3a1d4 Add quirk for the Legion Slim 7 Gen 8 keyboard
Signed-off-by: Derrick Timmermans <derrick.timmermans@outlook.com>
Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/980>
2024-03-06 10:14:35 +01:00
José Expósito
bee06c10ce quirks: add quirk for Dell Precision 5480 touchpad
The Dell Precision 5480 has a large touchpad without any visible markers
for the touchpad buttons.
Since the ModelTouchpadVisibleMarker quirk is enabled by default for all
Dell touchpads, the middle button area ends up being too small. Disable
the quirk for this specific model.

Closes: #976
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/979>
2024-02-29 09:51:43 +01:00
José Expósito
a43f1edbfe Add libinput_device_get_id_bustype()
Allow to get the device bus type ID in addition to its vid and pid.

Closes: https://gitlab.freedesktop.org/libinput/libinput/-/issues/975
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/977>
2024-02-28 22:49:29 +00:00
José Expósito
7ac26ed9c2 CONTRIBUTING: Add CONTRIBUTING.md
Add a very basic CONTRIBUTING.md file with a link to the documentation.

Closes: #974
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/978>
2024-02-28 17:07:45 +01:00
José Expósito
b5b825a7c3 doc/user: Document "Closes" and "Fixes" tags
Describe how the tags should be used. The guidelines for the "Fixes"
tag are taken from the Linux kernel documentation [1][2].

[1] https://www.kernel.org/doc/html/v4.17/process/submitting-patches.html#using-reported-by-tested-by-reviewed-by-suggested-by-and-fixes
[2] https://www.kernel.org/doc/html/v4.17/process/submitting-patches.html#describe-changes

Closes: #974
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/978>
2024-02-28 16:59:58 +01:00
Peter Hutterer
399ba5e0ee CI: only check the MR if we're in a merge request pipeline 2024-02-28 18:53:25 +10:00
Joshua Goins
beca998122 tablet: add API for relative dials
Some tablets such as those in the XP-PEN PRO series use "dials" which
are actually scrollwheels and emit EV_REL events. These should not be
emulated as rings (which are absolute) so we must expose them as a new
tablet event.

Adds LIBINPUT_EVENT_TABLET_PAD_DIAL that work largely identical as our
high-resolution wheel events (i.e. the values are in multiples or
fractions of of 120). Currently supports two dials.

This is a lot of copy/paste from the ring axes because the interface is
virtually identical. The main difference is that dials give us a v120
value in the same manner as our scroll axes.

Notes:
- REL_DIAL is mutually exclusive with REL_WHEEL, we assume the kernel
  doesn't (at this point) give us devices with both. If this changes for
  devices with three dials (wheel + hwheel + dial) we need to add code
  for that.
- REL_DIAL does not have a high-resolution axis and we assume that any
  device with REL_WHEEL_HI_RES will also have REL_HWHEEL_HI_RES (if the
  second wheel exists).
- With dials being REL_DIAL or REL_WHEEL there is no possibility of
  detecting a finger release (the kernel does not route EV_RELs with a
  value of zero). Unless this is implemented via a side-channel - and it
  doesn't look like any hardware that supports dials does that - we
  cannot forward any information here. So unlike absolute rings we
  cannot provide a source information here.

Closes #600

Co-authored-by: Peter Hutterer <peter.hutterer@who-t.net>
Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/967>
2024-02-20 02:49:05 +00:00
Peter Hutterer
d487ca36a4 test: only expect one button event from the intuos-like test
BTN_0 is the only one guaranteed to exist (otherwise we skip the test)
so let's ensure we have at least one event - all the others will fail if
we don't get the right event sent.

This enables the test to run against devices that only have one button.

Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/967>
2024-02-20 02:49:05 +00:00
Josip Medved
566857bd98 Recognizing Framework 16 keyboard modules as internal keyboards 2024-02-19 03:20:32 +00:00
Peter Hutterer
0d7b281f49 doc: fix end-of-file in the state machine SVG
Picked up by the pre-commit hook
2024-02-19 12:21:16 +10:00
Peter Hutterer
18d1d4fd75 quirks: tighten the match for the Graviton N15i touchpad
Other systems use the same touchpad but without physical buttons (e.g.
SpeedMind M-BOOK) and obviously the various systems using the 5288
touchpad, see commit d1f274c7.

Let's tighten this quirk to just the Graviton only.

Closes #970
Fixes 8163b552be23ef3f4082775649bb12a3f6162df6
Related !957
2024-02-14 06:23:59 +00:00
Bogdan Mircea
83d780e572 Added quirks for TongFang/Uniwill touchpad and ITE keyboard 2024-02-12 11:04:59 +00:00
Peter Hutterer
f46d45a589 doc: drop permissions to 644 for the gesture state machine SVG
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2024-02-06 11:32:42 +10:00
Theluga
8b9328415e quirks: Add Lenovo's Ideapad Gaming 3 white backlit keyboard as an internal keyboard 2024-02-02 01:43:10 +00:00
Peter Hutterer
8079a51b7f doc/user: note the requirement to apply for gitlab fork permissions 2024-02-02 09:51:31 +10:00
Peter Hutterer
049beea4c5 triage-policies: add a bugbot command to close issue in favour of an MR 2024-02-02 09:51:31 +10:00
Hooloovoo Blue
1788d3523f Update 50-system-lenovo.quirks to fix X201t tablet buttons 2024-02-01 04:25:09 +00:00