[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Git][xorg-team/lib/libinput][upstream-unstable] 84 commits: util: add etrace to trace to stderr



Title: GitLab

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

Commits:

  • 9ac040f7
    by Peter Hutterer at 2025-01-07T11:40:00+10:00
    util: add etrace to trace to stderr
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1116>
    
  • 5e5799a3
    by Peter Hutterer at 2025-01-07T11:40:00+10:00
    test: log litest_checkpoint to stderr
    
    Otherwise the logs are detached from libinput's logs (which are printed
    to stderr) which makes the checkpoint function mostly useless since it
    doesn't actually group the messages as expected.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1116>
    
  • da296c99
    by Peter Hutterer at 2025-01-07T02:02:37+00:00
    util: Add a multivalue special type
    
    A stripped down version of e.g GVariant that's enough for the few
    parameter types we need to support.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1109>
    
  • 7efec8f2
    by Peter Hutterer at 2025-01-07T02:02:37+00:00
    test: move a switch case up for better grouping
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1109>
    
  • f9f9bccb
    by Peter Hutterer at 2025-01-07T02:02:37+00:00
    test: force an unnecessary abort after litest_abort_msg()
    
    This is the easy way to get static analyzers to understand that calling
    litest_abort_msg() always fails.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1109>
    
  • 1e445f3f
    by Peter Hutterer at 2025-01-07T02:02:37+00:00
    test: implement support for parametrizing tests
    
    litest supports ranged tests but they are not enough, doubly so with
    tests where we want to parametrize across multiple options.
    
    This patch adds support for just that, in clunky C style.
    The typical invocation for a test is by giving the test parameter
    a name, a number of values and then the values themselves:
    
    	struct litest_parameters *params = litest_parameters_new("axis", 's', 2, "ABS_X", "ABS_Y",
    	                                                         "enabled", 'b', '2', true, false,
    	                                                         "number", 'u', '2', 10, 11,
    	                                                         NULL);
    	litest_add_parametrized(sometest, LITEST_ANY, LITEST_ANY, params);
    	litest_parameters_unref(params);
    
    Currently supported are u (uint32), i (int32), d (double), b (bool),
    c (char) and s (string).
    
    In the test itself, the `test_env->params` variable is available and
    retrieval of the parameters works like this:
    
    	const char *axis;
    	uint32_t number;
    	bool enabled;
    	litest_test_param_fetch(test_env->params,
    	                        "axis", &axis,
    	                        "enabled", &enabled,
    	                        "number", &number,
    	                        NULL);
    
    Note that since this is an effectively internal test-suite only
    functionality we don't do type-checking here, it's assumed that if you
    write the code to pass parameters into a test you remember the type
    of said params when you write the test code.
    
    Because we don't have hashmaps or anything useful other than lists the
    implementation is a bit clunky: we copy the parameter into the test
    during litest_add_*, permutate it for our test list which gives us yet
    another linked list C struct, and finally copy the actual value into
    the test and test environment as it's executed. Not pretty, but it
    works.
    
    A few tests are switched as simple demonstration. The name of the
    test has the parameters with their names and values appended now, e.g.:
       "pointer:pointer_scroll_wheel_hires_send_only_lores:ms-surface-cover:axis:ABS_X"
       "pointer:pointer_motion_relative_min_decel:mouse-roccat:direction:NW"
    
    Filtering by parameters can be done via globs of their string
    representation:
       libinput-test-suite --filter-params="axis:ABS_*,enabled:true,number:10*"
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1109>
    
  • 45389468
    by Peter Hutterer at 2025-01-07T13:04:30+10:00
    evdev: print the EV_SYN with better alignment to other messages
    
    This affects the debugging output only and it's invocation is if 0 by
    default.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1117>
    
  • f168f7d8
    by Peter Hutterer at 2025-01-07T13:04:30+10:00
    test: fix a typo in a comment
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1117>
    
  • 800eeaea
    by Peter Hutterer at 2025-01-07T13:04:30+10:00
    test: change the x/y type from int to double in a helper
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1117>
    
  • 44fecb9a
    by Peter Hutterer at 2025-01-07T09:10:50+00:00
    doc/user: link to the explanation why we can't change the tap default
    
    We don't have an API for "device really should have tapping enabled" so
    right now the only indicator of whether that's the case is when the
    device has tapping enabled by default. This kind of prevents us from
    switching the default, so let's at least link to the comment explaining
    this.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1115>
    
  • 812611ca
    by Peter Hutterer at 2025-01-08T09:21:01+10:00
    test: switch touchpad tests to use parameters
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1119>
    
  • 4bbad8ad
    by Peter Hutterer at 2025-01-08T10:48:32+10:00
    test: change switch tests to use parameters
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1119>
    
  • 6ee8e8d9
    by Peter Hutterer at 2025-01-08T10:50:52+10:00
    test: change tap tests to use parameters
    
    This also fixes the invocation of the
    touchpad_3fg_tap_btntool_pointerjump which was written as ranged test
    but never got invoked with a range (but _i defaults to zero).
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1119>
    
  • 11dec0bd
    by Peter Hutterer at 2025-01-08T11:59:14+10:00
    test: switch touchpad button tests to use parameters
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1119>
    
  • d9de017d
    by Peter Hutterer at 2025-01-08T10:18:31+00:00
    test: fix --filter-params handling
    
    The previous implementation skipped parameters that were filtered, so
    our test cases got called with parameters missing. Fix this by filtering
    any test case that has a negative fnmatch on any parameter.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1120>
    
  • 53882991
    by Peter Hutterer at 2025-01-09T11:36:26+10:00
    test: slightly improve the failure message for litest_assert_not_null
    
    Now prints
            FAILED: ev != NULL
    which is less ambiguous/confusing than the previous
            FAILED: ev expected to be not NULL
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1122>
    
  • 530ca423
    by Peter Hutterer at 2025-01-09T11:36:32+10:00
    Improve the event queuing debugging a bit
    
    Print a bit more information if this ifdef is disabled for
    debugging, in this case for button events. That's all
    I need for now, we can extend later.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1122>
    
  • 01f133fb
    by Peter Hutterer at 2025-01-09T02:12:10+00:00
    tools/per-slot-delta: use dataclasses and enums
    
    Slight modernization of the code
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1101>
    
  • a7ff3e05
    by Peter Hutterer at 2025-01-09T02:12:10+00:00
    tools/per-slot-delta: remove some duplication for axis handling
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1101>
    
  • 5df1d26a
    by Peter Hutterer at 2025-01-09T02:12:10+00:00
    tools/per-slot-delta: use a Point class for slot position/delta
    
    Better abstraction, especially when we introduce more than just those
    two.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1101>
    
  • 5f8f7150
    by Peter Hutterer at 2025-01-09T02:12:10+00:00
    tools/per-slot-delta: refactor the printing of a slot
    
    This makes it easier to optionally print extra components of that slot.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1101>
    
  • d52bb9ed
    by Peter Hutterer at 2025-01-09T02:12:10+00:00
    tools/per-slot-delta: optionally show the distance to the original point
    
    This makes it easier to quickly gather how far a touch has moved since
    it started, compared to the initial starting position. This again makes
    it easier to determine if a threshold required for e.g. scrolling has
    been met.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1101>
    
  • c3bf478d
    by Peter Hutterer at 2025-01-20T09:54:32+00:00
    util: add truefalse and yesno macros for easy string conversion
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1118>
    
  • 55d47903
    by Peter Hutterer at 2025-01-20T09:54:32+00:00
    test: switch the tablet tests to parametrized tests
    
    No functional change but the tests now include the parameters in
    easy-to-read fashion which makes it easier to figure out which
    combination is failing.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1118>
    
  • 2f2612e8
    by Peter Hutterer at 2025-01-20T09:54:32+00:00
    test: use litest_checkpoint to annotate a test case
    
    Had to debug something here and we might as well keep the printable
    annotations.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1118>
    
  • 1d8f2903
    by Peter Hutterer at 2025-01-20T09:54:32+00:00
    tablet: always unset the various statuses if we're leaving proximity
    
    The previous invocation was gated behind a TABLET_OUT_OF_AREA check
    resulting in a nonresponsive tool when the tablet was moved out of
    proximity outside the tablet area and the area was changed.
    
    Move the actual status bit changes up into tablet_flush()
    so we unconditionally set those.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1118>
    
  • 00bc910d
    by Kirill Primak at 2025-01-20T10:08:36+00:00
    tablet: add missing event types in tool/pad event docs
    
    Signed-off-by: Kirill Primak <vyivel@eclair.cafe>
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1126>
    
  • 2c0c4a65
    by Peter Hutterer at 2025-01-20T10:29:47+00:00
    Replace strneq() with hardcoded lengths with strstartswith()
    
    Slightly less efficient but easier to read and it's not possible to
    accidentally provide the wrong length. Plus it handles null pointers
    correctly so get to skip the checks (which weren't needed for strneq()
    either, but still).
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1121>
    
  • 74617de4
    by Peter Hutterer at 2025-01-20T10:29:47+00:00
    tools/record: record HID_BPF properties too
    
    If this property is set we likely have a udev-hid-bpf property
    loaded into the device. Knowing this is going to be important for
    debugging why a device may or may not work so let's record this.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1121>
    
  • 6759a2f7
    by Peter Hutterer at 2025-01-20T11:30:01+00:00
    test: honor NO_COLOR and FORCE_COLOR for output colorization
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1124>
    
  • 86b9142a
    by Peter Hutterer at 2025-01-20T11:30:01+00:00
    test: highlight the interesting part of the backtrace
    
    This makes it easier to immediately see where things are breaking since
    the full backtrace has >70% noise.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1124>
    
  • fefeab4e
    by Peter Hutterer at 2025-01-20T12:08:46+00:00
    test: a boolean parameter is always true/false
    
    Don't require the caller to provide the values, they're always the
    same.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1123>
    
  • af0e9a23
    by Marge Yang at 2025-01-21T07:26:41+00:00
    quirks: add quirk for Dell Haptics Touchpad.
    
    This Touchpad is a pressure pad and needs the pressure
    handling disable.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1127>
    
  • e74d1747
    by José Expósito at 2025-01-21T10:16:47+00:00
    quirks: Disable MT_TOOL_PALM for the Yoga Slim 7i Carbon
    
    Lenovo Yoga Slim 7i Carbon sends bogus ABS_MT_TOOL_TYPE MT_TOOL_PALM
    events. Disable them.
    
    Closes: https://gitlab.freedesktop.org/libinput/libinput/-/issues/1077
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1128>
    
  • 3f4abaf7
    by José Expósito at 2025-01-29T09:32:30+01:00
    quirks: Add Apple Magic Trackpad v2 2024
    
    Add similar quirks to the previous generations.
    
    Closes: https://gitlab.freedesktop.org/libinput/libinput/-/issues/1080
    Signed-off-by: José Expósito <jose.exposito89@gmail.com>
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1131>
    
  • 184bcafe
    by Peter Hutterer at 2025-02-03T09:16:02+10:00
    triage-policies: update to handle a few more things in MRs as well
    
    Requesting libinput record, hid-recorder or punting to udev-hid-bpf
    should be possible from MRs as well.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1133>
    
  • b566d64c
    by José Expósito at 2025-02-04T14:36:01+01:00
    quirks: Add Apple Magic Trackpad v2 USB-C (2024)
    
    Add the missing USB-C vendor ID.
    
    Closes: https://gitlab.freedesktop.org/libinput/libinput/-/issues/1080
    Signed-off-by: José Expósito <jose.exposito89@gmail.com>
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1134>
    
  • d9f121b4
    by Peter Hutterer at 2025-02-12T11:41:56+10:00
    test: add a litest_with_parameters helper macro
    
    Magic for loop that takes care of the creation and unref for us,
    hopefully improving readability a bit.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1138>
    
  • 9ae15c6a
    by Peter Hutterer at 2025-02-12T03:58:23+00:00
    pad: be more robust to kernel bugs of multiple EV_ABS
    
    This is a workaround for a kernel bug with the Wacom Mobile Studio Pro
    13: this device sends erroneous ABS_WHEEL events when pressing
    buttons:
    
      - evdev:
        - [  0,      0,   1, 256,       1] # EV_KEY / BTN_0                     1
        - [  0,      0,   3,   8,      17] # EV_ABS / ABS_WHEEL                17 (+17)
        - [  0,      0,   3,   8,       0] # EV_ABS / ABS_WHEEL                 0 (-17)
        - [  0,      0,   3,  40,      15] # EV_ABS / ABS_MISC                 15 (+15)
        - [  0,      0,   0,   0,       0] # ------------ SYN_REPORT (0) ---------- +0ms
    
    ABS_WHEEL to 17 then to 0 in the same frame. We should (and do) treat this
    as a zero event and drop the 17 to the floor. Alas, we then generate a
    ring event for the zero value despite our current value being zero
    anyway. This again causes confusing behavior.
    
    This is simple enough to work around, at least until the kernel is fixed
    but also to prevent this happening in the future: warn if we get
    multiple events and if so and the later event is zero, undo the axis
    change state.
    
    Closes: #1081
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1136>
    
  • 5ed75e7e
    by Peter Hutterer at 2025-02-12T09:11:51+00:00
    test: make litest_parameters fetching more type-safe
    
    Require the type to be added in the litest_test_params_fetch() so we can
    easily detect a mismatch. And add some type-safe getters that are much
    easier to use for all the tests that only have a single parameter to
    fetch anyway.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1139>
    
  • 3cf6c91f
    by wangyafei at 2025-02-13T02:18:02+00:00
    quirks: add quirks for Dell laptop with Goodix Touchpad.
    
    This touchpad is a pressure pad and needs the pressure
    handling disable.
    
    Signed-off-by: Charles Wang <charles.goodix@gmail.com>
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1130>
    
  • dbe8f7fe
    by Peter Hutterer at 2025-02-17T07:59:05+00:00
    tools/list-devices: allow listing some devices only
    
        $ libinput list-devices /dev/input/envent0
    
    Now does what one would expect.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1140>
    
  • c8ee24ce
    by Peter Hutterer at 2025-02-17T07:59:05+00:00
    tools/list-devices: reword the man page a bit
    
    Hopefully a slightly better explanation that what we had before.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1140>
    
  • d33c83b1
    by Peter Hutterer at 2025-02-17T07:59:05+00:00
    tools/list-devices: add helper to print aligned values
    
    This makes it easier to re-align all columns.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1140>
    
  • 9d214e1c
    by Peter Hutterer at 2025-02-17T07:59:05+00:00
    tools/list-devices: add missing config options to the output
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1140>
    
  • 5ae31d7f
    by Peter Hutterer at 2025-02-18T14:58:28+10:00
    test: fix litest_test_param_get_double
    
    Overenthusiastic search/replace caused the name argument to be a const
    double*.
    
    Fixes: 5ed75e7e9ffb ("test: make litest_parameters fetching more type-safe")
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1144>
    
  • 114af538
    by Peter Hutterer at 2025-02-18T05:40:44+00:00
    test: fix the touchpad finger positions for a test
    
    The 5th finger was placed in the same position as the 4th finger which
    doesn't have an effect in libinput but it looks wrong.
    
    And the first finger was put down at 40/30 but then moved from 70/30 to
    the new position, causing pointer jumps on some touchpads.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1145>
    
  • c73fc784
    by Peter Hutterer at 2025-02-18T06:44:01+00:00
    touchpad: cancel any ongoing gesture if we're about to send a button
    
    This shouldn't have any effect in the current setup as there is
    "coincidentally" no overlap between the two state machines so this is
    effectively a noop.
    
    Nonetheless, if we're about to send a tap button event we cannot be in
    any other gesture than tapping so all swipe/pinch/holds need to be
    cancelled.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1042>
    
  • 16a8c1d0
    by Peter Hutterer at 2025-02-18T06:44:01+00:00
    gestures: rename a helper function
    
    has_started() is a bit misleading here, this merely decides whether we
    should delay any finger changes or not.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1042>
    
  • 659b49b3
    by Peter Hutterer at 2025-02-18T06:44:01+00:00
    gestures: localize a set of variables better
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1042>
    
  • ae86d8b1
    by Peter Hutterer at 2025-02-18T06:44:01+00:00
    gestures: disambiguate between a tap timeout and a hold timeout
    
    Where the tapping code calls into the timeout function make sure we have
    a separate event for this. This way we know whether the current gesture
    event is caused by the hold timeout or something else.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1042>
    
  • 1d9e307e
    by Peter Hutterer at 2025-02-18T06:44:01+00:00
    touchpad: implement support for three-finger drag
    
    Exposed via new configuration option this enables 3 and 4 finger
    dragging on touchpads. When enabled a 3/4 finger swipe
    gesture is actually a button down + motion + button up sequence.
    
    If tapping is disabled the drag starts immediately, if tapping is
    enabled the drag starts after the tap timeout/motion so we can distinguish
    between a tap and a drag.
    
    When fingers are released:
    - if two fingers remain -> keep dragging
    - if one finger remains -> release drag, switch to pointer motion
    
    When 3/4 fingers are set down immediately after releasing all fingers
    the drag continues, similar to the tap drag lock feature. This drag lock
    is not currently configurable.
    
    This matches the macos behavior for the same feature.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1042>
    
  • bf3a67de
    by Peter Hutterer at 2025-02-18T06:44:01+00:00
    gestures: if 3fg drag fingers are in a nice position, start dragging
    
    Similar to the condition just north of here, if we have 3 fingers in a
    roughly linear line and 3fg dragging is enabled, assume we're actually
    trying to drag. This reduces the minimum movement otherwise required
    to detect the type of gesture.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1042>
    
  • 3a60c47e
    by satrmb at 2025-02-20T08:18:48+01:00
    test: add optional value names to parametrized tests
    
    Only implemented for i32 values so far, used for enums and enum-like constants,
    replaces a runtime lookup from stringly-typed parameters.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1141>
    
  • 6f9a54c5
    by satrmb at 2025-02-20T09:34:14+01:00
    test: convert most ranged tests to parametrized ones
    
    The two remaining ranged tests (abs_device_no_range, abs_mt_device_no_range)
    are better served staying with ranges because parametrized tests need to
    explicitly list all members of the range, which for these tests is not only
    pretty big, but also contains abs axes reserved for future use. Those axes
    have no names yet, making a future-proof conversion pretty much impossible.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1142>
    
  • a71f560f
    by satrmb at 2025-02-20T09:34:20+01:00
    test: fix off-by-ones in two ranges, prevent the same in remaining ranged tests
    
    touchpad_move_after_touch contains support for up to 5 fingers but was only run
    with 2..4 fingers.
    touchpad_multitap and several others using the same parameter definition were
    long ago tested with 3..7 taps. In 8f92b091 this was reduced to 3..4 for CI
    performance, while the commit message indicates 3..5 were intended.
    
    The common theme is that the upper bound of `struct range` is interpreted
    as exclusive, while some uses assumed it would be inclusive.
    There are relatively recent helper functions range_init_inclusive and
    range_init_exclusive (since 817dc423) to avoid this trap. Use them on the
    remaining two ranged tests.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1142>
    
  • f70f8033
    by Peter Hutterer at 2025-02-24T08:56:02+00:00
    quirks: add quirk for the RazerBlade182024 Keyboard
    
    Generated by tools/razer-quirks-lister.py
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1148>
    
  • 1de6ac89
    by Peter Hutterer at 2025-02-25T05:18:53+00:00
    test: rename the 12WX test device short name and enum
    
    Make this more specific, we have quite a few other cintiqs in here
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1143>
    
  • 48cd4c72
    by Peter Hutterer at 2025-02-25T05:18:58+00:00
    tablet: track pressure ranges per tablet
    
    Tablets may have different ABS_PRESSURE ranges with the oldest tablets
    having 1k pressure range, then 2k, and the newer ones 8k.
    
    If the same tool is used across two tablets with different ABS_PRESSURE
    ranges, the first tablet in proximity calculated the range on where to
    normalize to. As a result the other tablet either couldn't reach the
    full pressure (2k pressure first, then 8k) or the full pressure range
    was reached at a fraction of the full range (8k pressure first, then
    2k).
    
    Fix this by moving the threshold handling into a separate struct and
    hardcoding up to 4 of those per tool. That is 2 more than the more
    complicated setups I've heard of (and this only applies to tracking the
    same stylus across those tablets anyway).
    
    This duplicates the pressure offset heuristics but that's easier than
    figuring out how to handle heuristics across potentially two tablets.
    
    The range configuration is left as-is on the assumption that this one is
    per tool, not per tablet.
    
    Closes #1089
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1143>
    
  • 06d730e3
    by Mingcong Bai at 2025-02-27T22:47:14+08:00
    quirks: raise AttrTrackpointMultiplier for ThinkPad T470/T480/A485 to 0.75
    
    As I tested my friend's ThinkPad A485, I found that the default multiplier
    resulted in jumpy cursor and a slightly too quick acceleration curve. Upon
    checking for Lenovo quirks, I found that since commits 383a60abea8e
    ("Better Thinkpad T480 trackpoint multiplier") and a1566e3492ae ("quirks:
    Thinkpad T470 trackpoint multiplier"), the TrackPoint multiplier for both
    T470 and T480 (which shares the same keyboard FRUs with the A485) were set
    to 0.4.
    
    However, per my testing, by setting the multiplier to 0.4, the TrackPoint
    speed became so painfully slow that it began to hurt my index finger...
    I suspect the original commiters have set custom acceleration curves on
    their own system, but I might be wrong.
    
    Playing with the multiplier, I found 0.75 to be the most appropriate and,
    interestingly, with anything >= 0.8, the TrackPoint began to become jumpy,
    with the cursor appearing to have a very low poll rate on the screen (the
    higher the multiplier, the worse it gets).
    
    Since, as I mentioned above, the keyboard and TrackPoint parts are shared
    between these three models, I'm assuming that this multiplier will work
    well for them.
    
    Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1149>
    
  • 7030dc7c
    by Thomas Newman at 2025-02-28T23:00:22-05:00
    quirks: set pressure pad for ThinkPad X9 15 Gen 1 Forcepad
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1150>
    
  • 84e81456
    by Zhou Qiankang at 2025-03-09T15:46:34+08:00
    quirks: add pressure pad quirk for Lenovo ThinkBook 14 G7+ IAH
    
    * The ThinkBook 14 G7+ IAH also has the same issue as the ThinkBook 14 G7+ ASP.
    
    Signed-off-by: Zhou Qiankang <wszqkzqk@qq.com>
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1151>
    
  • 58315eb9
    by Peter Hutterer at 2025-03-11T11:41:34+00:00
    test: remove duplicate empty lines from the test/ directory
    
    We've had a CI job for checking this since but it omitted the test
    directory.
    
    Fixes: bb6ff0ec002c ("gitlab CI: add a job to check for whitespace issues")
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1154>
    
  • dd787656
    by Peter Hutterer at 2025-03-11T11:41:34+00:00
    pre-commit: add a hook for checking for duplicate empty lines
    
    It's a bit annoying to only find those during a CI pipeline run, so
    let's add a hook for it. Pre-commit doesn't seem to have something
    useful for duplicate line detection so let's hack up a quick script
    that can do this for us, together with the other whitespace checks in
    the CI so we're consistent.
    
    Excluded from the duplicate line checks are anything "Not C" and the
    "include/" directory since we don't control those files.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1154>
    
  • 67428b64
    by Peter Hutterer at 2025-03-12T11:43:25+10:00
    doc: fix two duplicated references
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1155>
    
  • 4ac52b4f
    by Peter Hutterer at 2025-03-13T05:17:07+00:00
    tools: support sendevents mode in debug-events
    
    Disabling sendevents was already supported via an fnmatch() and
    --disable-sendevents but to test things like disabling on an external
    mouse, let's expose this option too.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1152>
    
  • 11aa71e7
    by Peter Hutterer at 2025-03-13T05:29:34+00:00
    tools/list-devices: print vid/pid as well
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1153>
    
  • 99097c98
    by Peter Hutterer at 2025-03-13T05:57:37+00:00
    test: don't include an internal header in the totem tests
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1157>
    
  • 7ae22591
    by Peter Hutterer at 2025-03-13T05:57:37+00:00
    test: add a note that the Huion PIDs are shared
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1157>
    
  • b0cfcfab
    by Peter Hutterer at 2025-03-13T05:57:37+00:00
    test: standardize the wacom device names
    
    Consistently use the pen/pad/finger suffix for the subdevices, both in
    the device's name and the device type.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1157>
    
  • 2ec9389a
    by Peter Hutterer at 2025-03-13T05:57:37+00:00
    test: stringify the LITEST_ value as the device's name
    
    This avoids inconsistencies between the LITEST_ enum value and the
    shortname but also makes it easier to grep for any test cases that use
    the same define. At the cost of the test names not looking very nice
    anymore but oh well.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1157>
    
  • aaad75ec
    by Peter Hutterer at 2025-03-13T05:57:37+00:00
    test: mark _litest_checkpoint as printf function
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1157>
    
  • bfbecc5e
    by Peter Hutterer at 2025-03-13T05:57:37+00:00
    test: vary the colors in the test output a bit
    
    Instead of everything bright red, let's vary the colors so it's easier
    to spot the different assertions we add.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1157>
    
  • 3858a6c4
    by Peter Hutterer at 2025-03-13T06:13:38+00:00
    test: print events discarded while waiting for another event type
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1156>
    
  • 99ceda01
    by Peter Hutterer at 2025-03-13T06:13:38+00:00
    util: add strdup_printf helper functions
    
    More straightforward than using xasprintf
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1156>
    
  • 1dd8a896
    by Peter Hutterer at 2025-03-13T06:13:38+00:00
    tools/debug-events: make the print_ functions return the printed string
    
    Two advantages here: fewer actual printf() calls making the output
    slightly more coherent if there are other things writing to stdout but
    also better re-usability since we can now move the print functions to
    shared code.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1156>
    
  • 28e89691
    by Peter Hutterer at 2025-03-13T06:13:38+00:00
    tools/debug-events: separate event handling from event printing
    
    Move the big switch statement into a helper function and reduce it to a
    statement that only does that bits that weren't related to printing.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1156>
    
  • 9907cf2e
    by Peter Hutterer at 2025-03-13T06:13:38+00:00
    Move the event printing out into a utility
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1156>
    
  • 6c3c2e99
    by Peter Hutterer at 2025-03-13T06:13:38+00:00
    libinput: use the shared event printing for debugging events
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1156>
    
  • 97142531
    by Peter Hutterer at 2025-03-13T06:13:38+00:00
    test: re-use the event printing in litest
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1156>
    
  • 8cd5cad1
    by Peter Hutterer at 2025-03-13T06:13:38+00:00
    meson: add option for internal event debugging
    
    These have been behind #if 0 for ages but there are more to come, let's
    make it possible to toggle those on/off with a meson option.
    
    This is an option that must not be used in a release build, it will leak
    key codes to the logs.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1156>
    
  • bcb467da
    by Peter Hutterer at 2025-03-14T09:52:30+10:00
    test: add extra highlighting for the backtrace
    
    Pass through the function name where the condition failed so we can
    highlight that line in the backtrace.
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1159>
    
  • 0cfa2ee3
    by Peter Hutterer at 2025-03-14T10:18:24+10:00
    test: pass the func/lineno down to a few more functions
    
    Most of them currently unused
    
    Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1159>
    
  • d344ae9e
    by Peter Hutterer at 2025-03-24T13:54:25+10:00
    libinput 1.28.0
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    

174 changed files:

The diff was not included because it is too large.

Reply to: