Timo Aaltonen pushed to branch debian-unstable at X Strike Force / lib / libinput
Commits: 2d3eee76 by Peter Hutterer at 2022-06-14T13:11:14+10:00 gitlab CI: drop the manual meson to junit conversion Meson supports this natively since version 0.55 which is available in all our tested distributions. Signed-off-by: Peter Hutterer <[email protected]> - - - - - 6569938b by Peter Hutterer at 2022-06-16T08:28:53+10:00 meson.build: drop listing of header files from compilation targets "Meson uses Ninja which uses compiler dependency information to automatically figure out dependencies between C sources and headers, so it will rebuild things correctly when a header changes. [...] If, for whatever reason, you do add non-generated headers to the sources list of a target, Meson will simply ignore them." https://mesonbuild.com/FAQ.html#do-i-need-to-add-my-headers-to-the-sources-list-like-in-autotools Signed-off-by: Peter Hutterer <[email protected]> - - - - - 4a202a95 by satrmb at 2022-06-28T13:22:25+02:00 test: exclude the two high-delay debounce tests from the valgrind CI run The `debounce_bounce_high_delay` and `debounce_spurious_trigger_high_delay` tests are failing with annoying frequency in valgrind, but that is entirely due to valgrind being too slow for the tight timing reqirements of these tests. Skipping them in valgrind has next to no potential to hide memory leaks because the code paths leading to success are also covered by other tests which are less picky about timing, and the CI test suite run without valgrind still tests for their success. Signed-off-by: satrmb <[email protected]> - - - - - 1f505ce2 by Peter Hutterer at 2022-06-28T23:09:53+00:00 meson.build: fix build without Wayland Introduced in 6a1bd5b0c9, we now have two potentially undeclared variables if GTK is available but doesn't have Wayland support. ../meson.build:576:1: ERROR: Unknown variable "dep_wayland_client". Fixes 6a1bd5b0c9be55d21c6e066a94fc6fd77fea96ce Fixes #786 Signed-off-by: Peter Hutterer <[email protected]> - - - - - 68f39925 by Peter Hutterer at 2022-06-28T23:09:53+00:00 gitlab CI: dnf remove gtk4-devel for the no-debug-gui deps job We've long preferred GTK4 and that's installed on our images, so let's make sure that gets removed together with GTK3 (which isn't actually installed anyway). Signed-off-by: Peter Hutterer <[email protected]> - - - - - 34758500 by Peter Hutterer at 2022-06-29T14:37:58+10:00 CODING_STYLE: update with a better description for variable assignments Loop variables shouldn't be re-used. Avoid uninitialized variables Sort variables to make function calls more obvious Signed-off-by: Peter Hutterer <[email protected]> - - - - - a2dc175c by Dale A. Jackson at 2022-07-01T10:26:44-07:00 quirks: add Lenovo Legion 7 keyboard Fixes disable-when-typing for the keyboard model on this laptop Signed-off-by: Dale A. Jackson <[email protected]> - - - - - d137c413 by Max Huber at 2022-07-10T15:22:24+02:00 quirks: add volume rocker quirk for Lenovo IdeaPad Duet 3i Signed-off-by: Max Huber <[email protected]> - - - - - ad95d68f by Maximilian Luz at 2022-07-10T18:25:22+00:00 quirks: Add quirks for Surface Laptop Studio touchpad The touchpad on the Microsoft Surface Laptop Studio is force-sensitive. The default values used by libinput do not seem to work well (causing touches to not be recognized), so configure it with known-good values. Signed-off-by: Maximilian Luz <[email protected]> - - - - - 238a56eb by Maximilian Luz at 2022-07-10T18:25:22+00:00 quirks: Add quirks to improve tablet-mode on the Surface Laptop Studio The Microsoft Surface Laptop Studio can operate in multiple postures. In one of these, dubbed "slate/tent", the screen is angled roughly 45°, covering the keyboard but not the touchpad. Unfortunately, this state is (as far as we can tell) indiscernible to the display being flipped 180° backwards (dubbed "slate/flipped"), where the keyboard points away from the user and is now behind the screen. Due to this, it makes sense to enable tablet-mode in this (general) "slate" state, which is what the corresponding kernel driver currently does. This, for example, can tell desktop environments to bring up a touch keyboard in certain situations and to allow for automatic screen rotation (which is required in the "flipped" mode). Unfortunately, libinput disables all integrated peripherals, including the touchpad, when tablet-mode is on, rendering the touchpad unusable in the "slate/tent" state. Therefore, set ModelTabletModeNoSuspend=1 to keep the touchpad functional. For simplicity, apply this quirk to all input devices on the Surface Laptop Studio. Those are already disabled by firmware in the respective postures, meaning things work well without suspension by libinput. Signed-off-by: Maximilian Luz <[email protected]> - - - - - 05501cd3 by illiliti at 2022-07-12T00:05:06+00:00 meson: use install_emptydir to create directory instead of install_subdir. Fixes muon - a strictly-conforming meson implementation which doesn't implement deprecated and broken-by-design functionality. For more info, see: https://mesonbuild.com/Reference-manual_functions.html#install_subdir Signed-off-by: illiliti <[email protected]> - - - - - 368b12ad by Peter Hutterer at 2022-07-12T10:00:24+00:00 evdev: fix a tab vs space indentation issue Signed-off-by: Peter Hutterer <[email protected]> - - - - - 71f79b9d by José Expósito at 2022-07-12T19:44:59+02:00 libwacom: fix warnings building without libwacom When the libwacom build option is set to false the compiler throws these warnings: ../udev/libinput-device-group.c:95:1: warning: ‘wacom_handle_ekr’ defined but not used [-Wunused-function] 95 | wacom_handle_ekr(struct udev_device *device, | ^~~~~~~~~~~~~~~~ [205/237] Compiling C object 'libinput-test-suite@exe/test_test-tablet.c.o'. ../test/test-tablet.c:5440:1: warning: ‘verify_left_handed_touch_sequence’ defined but not used [-Wunused-function] 5440 | verify_left_handed_touch_sequence(struct litest_device *finger, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../test/test-tablet.c:5385:1: warning: ‘verify_left_handed_tablet_sequence’ defined but not used [-Wunused-function] 5385 | verify_left_handed_tablet_sequence(struct litest_device *tablet, # | ^~~~~~~~~~~~~~~~ # | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Add the required guards to fix the warnings. Fix #791. Signed-off-by: José Expósito <[email protected]> - - - - - 91610165 by Peter Hutterer at 2022-07-15T10:47:13+10:00 doc/user: minor rewording of the pointer accel profile list This just makes it easier to add new profiles to the list without ending up with a word salad. Signed-off-by: Peter Hutterer <[email protected]> - - - - - 187ec90b by Boris Pek at 2022-07-18T11:06:22+03:00 quirks: update quirks for Lenovo IdeaPad Duet 3 My tablet has substring pvrIdeaPadDuet310IGL5-LTE in modalias and there are other modifications of this model on a market so the mask for DMI should be simplified to cover more devices. Signed-off-by: Boris Pek <[email protected]> - - - - - 45db4ceb by Peter Hutterer at 2022-08-03T13:43:32+10:00 gitlab ci: drop EOL'd ubuntu 21.10 Signed-off-by: Peter Hutterer <[email protected]> - - - - - 507b0a38 by Peter Hutterer at 2022-08-08T13:57:13+10:00 tools: add missing dwtp option setting Fixes 1f1ddbc6dff0cf0451e3c9ac923f9821278560aa Signed-off-by: Peter Hutterer <[email protected]> - - - - - 62f8b533 by Leonard Lausen at 2022-08-15T16:22:28+00:00 quirks: add quirks for Acer Spin 513 (Lazor) Signed-off-by: Leonard Lausen <[email protected]> - - - - - 6efc4aa0 by Leonard Lausen at 2022-08-22T00:48:18+00:00 quirks: add generic quirks for ARM based chromebooks Signed-off-by: Leonard Lausen <[email protected]> - - - - - c16844d1 by Peter Hutterer at 2022-08-23T13:23:37+10:00 evdev: remove duplicate "device is a switch" message We log this a few lines south of here. Signed-off-by: Peter Hutterer <[email protected]> - - - - - 4177093d by Peter Hutterer at 2022-08-31T15:37:37+10:00 gitlab-ci: export MESON_TESTTHREADS so meson actually sees it Unlike NINJA_ARGS this isn't passed into meson, it's picked from the env. Signed-off-by: Peter Hutterer <[email protected]> - - - - - 30776d67 by Peter Hutterer at 2022-08-31T15:41:35+10:00 gitlab-ci: explicitly call "meson setup" to improve readability Signed-off-by: Peter Hutterer <[email protected]> - - - - - 6c2e98e4 by Peter Hutterer at 2022-08-31T16:01:26+10:00 gitlab-ci: add commandline options to the meson-build.sh script The various --skip-build, --skip-test and --skip-setup skip the respective step, the --run-test argument runs the test even where MESON_TEST_ARGS is nil. Signed-off-by: Peter Hutterer <[email protected]> - - - - - c8c82528 by Benjamin Tissoires at 2022-09-01T09:38:46+10:00 CI: prettify the include of templates Makes the resulting file easier to read Signed-off-by: Benjamin Tissoires <[email protected]> - - - - - 0d602e12 by Benjamin Tissoires at 2022-09-01T09:38:49+10:00 CI: remove one occurrence of fedora instead of distro.name For .{{distro.name}}-build@template, everything is parametrized with the distro name, so having plain 'fedora' might bite us in the future.. Signed-off-by: Benjamin Tissoires <[email protected]> - - - - - 553092ea by Benjamin Tissoires at 2022-09-01T09:39:02+10:00 CI: make freebsd slightly more in line with others the combination of want_qemu and skip_container is not very straight forward. What we actually have, is that freebsd is only qemu based, so there is no point in really having a `_QEMU` tag for it. Signed-off-by: Benjamin Tissoires <[email protected]> - - - - - bafffb7e by Benjamin Tissoires at 2022-09-01T09:39:12+10:00 CI: remove unused test I am pretty sure this one guard is a leftover from a previous version. That is because use_for_custom_build_tests is true when use_for_qemu_tests is, so probably a useless test here. Signed-off-by: Benjamin Tissoires <[email protected]> - - - - - fb4f4131 by Benjamin Tissoires at 2022-09-01T10:18:18+10:00 CI: do not retry the qemu runs They should be more reliable now, so no need to try them twice Signed-off-by: Benjamin Tissoires <[email protected]> - - - - - 1ccbeabb by Benjamin Tissoires at 2022-09-02T08:39:42+02:00 CI: rely on b2c to start qemu tests This allows us to not have to create a specific image, and also should be more reliable because we don't have to boot a full distribution each time we just start our test suite. Signed-off-by: Benjamin Tissoires <[email protected]> - - - - - 46df4f58 by Benjamin Tissoires at 2022-09-02T08:39:43+02:00 CI: include systemd-udev in the fedora image This will allow us to have the udevadm tool and systemd-udevd available while running inside qemu Signed-off-by: Benjamin Tissoires <[email protected]> - - - - - a034a9f6 by Benjamin Tissoires at 2022-09-02T08:39:44+02:00 CI: start a full systemd environment before running the testsuite Signed-off-by: Benjamin Tissoires <[email protected]> - - - - - 24956221 by Benjamin Tissoires at 2022-09-02T08:41:28+02:00 CI: in b2c, compile on the host, then test in qemu Looks like we are having clock skew issues on qemu, so given that we just need qemu in the image, we can compile on the host (reliable) and then only start the tests in qemu. Signed-off-by: Benjamin Tissoires <[email protected]> - - - - - 70c57e96 by Peter Hutterer at 2022-09-02T08:41:34+02:00 CI: drop the job count for the valgrind test suite to 2 Too many timing-related failures with 4 or (the default) 8 jobs, clearly our runners aren't fast enough. Signed-off-by: Peter Hutterer <[email protected]> - - - - - 9179acd6 by Peter Hutterer at 2022-09-08T09:03:15+10:00 filter: a few whitespace fixes and extra comments Signed-off-by: Peter Hutterer <[email protected]> - - - - - 87c769f3 by Peter Hutterer at 2022-09-08T09:03:15+10:00 filter: fix the mix of normalized vs device coordinates No functional changes, this is just for improving readability and a leftover when some of these functions were used by multiple filters. This filter normalizes the data first, then applies the acceleration to the normalized values. So let's keep the data in normalized_coords structs and only drop to device_float_coords when we have to to use the tracker API. Signed-off-by: Peter Hutterer <[email protected]> - - - - - b6e1f5d1 by Peter Hutterer at 2022-09-08T09:03:15+10:00 filter: remove an unnecessary layer of indirection This is a leftover from when some of the filter code was shared between pointer acceleration methods (pre v1.11 or so). Now these functions are duplicated across files, so both the names and what they do isn't necessarily reflective anymore. Let's drop one layer of indirection to make the code a bit easier to understand. No functional changes. Signed-off-by: Peter Hutterer <[email protected]> - - - - - 528f09a9 by Peter Hutterer at 2022-09-08T09:03:15+10:00 filter: constify the tracker API Signed-off-by: Peter Hutterer <[email protected]> - - - - - e59dc2ec by Peter Hutterer at 2022-09-08T09:03:15+10:00 filter: localize a few variables No functional changes Signed-off-by: Peter Hutterer <[email protected]> - - - - - 0bb82faa by Peter Hutterer at 2022-09-08T09:03:15+10:00 evdev: rename post_trackpoint_scroll to post_button_scroll This is no longer trackpoint-only, so let's rename this. Signed-off-by: Peter Hutterer <[email protected]> - - - - - fc1a2895 by Peter Hutterer at 2022-09-08T09:03:15+10:00 filter: constify the interfaces and make them static No functional change Signed-off-by: Peter Hutterer <[email protected]> - - - - - cef91f5b by Peter Hutterer at 2022-09-08T09:03:15+10:00 filter: don't normalize the const filter approach The filter vs const filter is supposed to be for accelerated vs non-accelerated motion (e.g. pointer motion vs scrolling) - in both cases the returned value is supposed to be in the same coordinate system, just once with an extra accel factor applied. This was broken in the flat and low-dpi profiles: in both of those the accelerated filter does *not* normalize, it merely applies the fixed/adaptive factor. The constant filter normalized however. The result was that on e.g. a 5000dpi mouse the constant motion was 5 times slower than the accelerated motion, even with a factor of 1. Signed-off-by: Peter Hutterer <[email protected]> - - - - - f80b142d by Peter Hutterer at 2022-09-08T09:03:15+10:00 evdev: use filter_dispatch_constant() for button scrolling Our pointer filter code has two functions - one for accelerated movement and one for "constant" movement (i.e. no accel factor provided but same conversions). Let's use that instead of a manual normalization. This fixes an issue with button scrolling on high-dpi mice in the flat pointer acceleration: normal pointer motion in the flat profile isn't normalized but the button scrolling was - resulting in e.g. 5 times slower motion for button scrolling on a 5000dpi mouse. Signed-off-by: Peter Hutterer <[email protected]> - - - - - f87fffd1 by Peter Hutterer at 2022-09-08T09:03:15+10:00 evdev: use filter_dispatch_constant() for the lenovo trackpoint "wheel" Rather than normalizing manually, leave this up to the pointer acceleration code. Signed-off-by: Peter Hutterer <[email protected]> - - - - - 49707691 by Peter Hutterer at 2022-09-08T09:03:15+10:00 filter: don't normalize the speed again in the default mouse filter The first thing this filter does is normalize the coordinates to 1000dpi, i.e. all other values are in normalized coordinates. By normalizing the speed again we get an invalid value, effectively stretching or compressing the acceleration curve. e.g. on a 5000dpi mouse the estimated speed was 1/5 of the real speed. Signed-off-by: Peter Hutterer <[email protected]> - - - - - 7ba0af57 by Peter Hutterer at 2022-09-08T09:03:15+10:00 filter: apply the same factor for constant motion as for normal motion Users that want a flat pointer acceleration want the input speed to match 1:1 to the output speed, barring a fixed constant multiplier. This will apply to things like button scrolling as well, so let's map the constant accel function to the non-constant accel functions to the speed setting applies to every movement. This is applied to both the flat and the touchpad flat filter. Signed-off-by: Peter Hutterer <[email protected]> - - - - - ad71c748 by Peter Hutterer at 2022-09-08T09:03:15+10:00 filter: add a flat trackpoint accel Previously, trackpoints got assigned the normal flat profile which does not accommodate for the trackpoint magic multiplier *and* had a config range that was too small if you take the multiplire indo account anyway. Fix this by adding a trackpoint-specific flat accel that has a wider configuration range and take sthe magic multiplier into account. Signed-off-by: Peter Hutterer <[email protected]> - - - - - 806d4a13 by José Expósito at 2022-09-18T16:00:26+02:00 tablet: check libevdev_get_abs_info() return value Commit b5f0536a4f93 ("quirks: add a quirk for the Wacom 524c device") added the quirk "AttrEventCodeDisable=ABS_TILT_X;ABS_TILT_Y;" to the Wacom 524c. When using the pen in a display with tilt support, the tilt X/Y axes are set as changed. Using the pen again, but this time in the display without tilt support, will try to get the tilt information, crashing. Check the return value of libevdev_get_abs_info() to avoid this crash. Fix https://gitlab.freedesktop.org/libinput/libinput/-/issues/805 Fixes: b5f0536a4f93 ("quirks: add a quirk for the Wacom 524c device") Signed-off-by: José Expósito <[email protected]> - - - - - 7d29e2d6 by Tadhg McDonald-Jensen at 2022-09-23T14:03:39-04:00 Fix Framework quirk so it wirks with 12 gen intel Removes a colon from frameworks quirks dmi match so it matches pnLaptop(12thGenIntelCore) on newer model Signed-off-by: Tadhg McDonald-Jensen <[email protected]> - - - - - 64020853 by José Expósito at 2022-10-03T12:53:22+02:00 tablet: avoid errors calling libevdev_get_abs_info() Commit 806d4a1393db ("tablet: check libevdev_get_abs_info() return value") prevented a crash when tilt was deactivated by a quirk. For more information check [1]. Add similar checks before calling libevdev_get_abs_info() to avoid possible crashes. [1] https://gitlab.freedesktop.org/libinput/libinput/-/issues/805 Signed-off-by: José Expósito <[email protected]> - - - - - e9a1999a by José Expósito at 2022-10-09T20:07:59+02:00 meson.build: always set HAVE_GTK_WAYLAND In commit 6a1bd5b0c9be ("meson.build: check gtk targets before building") introduced a custom config option to check whether Wayland is supported by GTK or not. However, in some cases the config option is not set generating this warning: ../tools/libinput-debug-gui.c:51:5: warning: "HAVE_GTK_WAYLAND" is not defined, evaluates to 0 [-Wundef] 51 | #if HAVE_GTK_WAYLAND | ^~~~~~~~~~~~~~~~ Make sure to always set HAVE_GTK_WAYLAND. Signed-off-by: José Expósito <[email protected]> - - - - - 9c789cc2 by José Expósito at 2022-10-10T08:27:05+02:00 tools: hide debug-gui help when building with -Ddebug-gui=false Some distributions, like Fedora, compile libinput with the debug-gui option set to false. Running "libinput debug-gui" indicates that the program is not installed; however, the help message suggests that the command is available. Hide debug-gui from the help message when it is not included. Fix https://gitlab.freedesktop.org/libinput/libinput/-/issues/480 Signed-off-by: José Expósito <[email protected]> - - - - - e8732802 by José Expósito at 2022-10-10T08:46:30+00:00 debug-gui: avoid locking pointer twice On Sway, and probably other Wayland compositors based on wlroots, the window_lock_pointer() was called twice. Avoid errors when window_lock_pointer() is invoked multiple times. Fix https://gitlab.freedesktop.org/libinput/libinput/-/issues/808 Signed-off-by: José Expósito <[email protected]> - - - - - eeae8906 by Yinon Burgansky at 2022-11-07T22:32:24+02:00 util: return the number of elements from strv_from_string Signed-off-by: Yinon Burgansky <[email protected]> - - - - - 955a9cc3 by José Expósito at 2022-11-14T19:11:12+01:00 util: use ck_assert_ptr_eq() instead of ck_assert_ptr_null() The ck_assert_ptr_null() function is not available in the version of the check library included in 20.04 LTS Focal (0.10.0). Use ck_assert_ptr_eq() to avoid compilation errors. Fixes: eeae8906dbbb ("util: return the number of elements from strv_from_string") Signed-off-by: José Expósito <[email protected]> - - - - - 0da2d009 by José Expósito at 2022-11-14T19:11:12+01:00 touchpad: add escape and asterisk to the DWT blacklist The escape key can be used to cancel a drag and drop action in some desktop environments. However, it triggers disable-while-typing, ending the drag and drop action rather than cancelling it. Add it to the tp_key_ignore_for_dwt() set to avoid it. Since I'm here, add the asterisk key as it is the only numpad key not ignored by tp_key_ignore_for_dwt(). Fix: https://gitlab.freedesktop.org/libinput/libinput/-/issues/820 # [1] Suggested-by: satrmb <[email protected]> Signed-off-by: José Expósito <[email protected]> - - - - - 44f42dc9 by Peter Hutterer at 2022-11-15T08:56:53+10:00 gitlab CI: don't install valgrind, it's already in the template This has been a noop for quite a while, so we might as well skip it. Signed-off-by: Peter Hutterer <[email protected]> - - - - - 56b9cac8 by Peter Hutterer at 2022-11-16T09:00:22+10:00 gitlab CI: update freebsd to 13.1 This gets rid of of the following error: ld-elf.so.1: /lib/libc.so.7: version FBSD_1.7 required by /usr/local/lib/libpython3.9.so.1.0 not found Too tired to debug what is really going on, so let's pretend the update is the best way to fix this. Signed-off-by: Peter Hutterer <[email protected]> - - - - - 70a79069 by Peter Hutterer at 2022-11-16T09:00:25+10:00 gitlab CI: pre-install all packages we need Running "dnf install" during a job can lead to issues when the image is old - package renames/replacements/etc. may require a dnf upgrade to get those packages sorted first before our dnf install works. This hasn't been a problem for us because we had weekly rebuilds of the images scheduled and were usually on the latest package set but let's do this properly anyway. Signed-off-by: Peter Hutterer <[email protected]> - - - - - fc59e574 by José Expósito at 2022-11-19T12:21:06+01:00 libinput 1.22.0 Signed-off-by: José Expósito <[email protected]> - - - - - 7447772d by Timo Aaltonen at 2022-11-21T17:43:13+02:00 Merge branch 'upstream-unstable' into debian-unstable - - - - - e040b016 by Timo Aaltonen at 2022-11-21T17:53:31+02:00 version bump - - - - - 0d4aff2f by Timo Aaltonen at 2022-11-22T14:10:22+02:00 release to sid - - - - - 30 changed files: - .gitlab-ci.yml - .gitlab-ci/ci.template - .gitlab-ci/config.yml - .gitlab-ci/meson-build.sh - − .gitlab-ci/meson-junit-report.py - + .gitlab-ci/meson-prep.sh - + .gitlab-ci/meson-test.sh - + .gitlab-ci/start-in-systemd.sh - CODING_STYLE.md - debian/changelog - doc/user/pointer-acceleration.rst - meson.build - quirks/30-vendor-microsoft.quirks - quirks/50-framework.quirks - quirks/50-system-google.quirks - quirks/50-system-lenovo.quirks - src/evdev-fallback.c - src/evdev-fallback.h - src/evdev-mt-touchpad.c - src/evdev-tablet.c - src/evdev-wheel.c - src/evdev.c - src/filter-flat.c - src/filter-low-dpi.c - src/filter-mouse.c - src/filter-private.h - src/filter-tablet.c - src/filter-touchpad-flat.c - src/filter-touchpad-x230.c - src/filter-touchpad.c The diff was not included because it is too large. View it on GitLab: https://salsa.debian.org/xorg-team/lib/libinput/-/compare/a5d8e7fb4a96cdc3ebb7c40f1280c32ca4e7252c...0d4aff2f5a5529a7053607b12ef8d759ce1c62c0 -- View it on GitLab: https://salsa.debian.org/xorg-team/lib/libinput/-/compare/a5d8e7fb4a96cdc3ebb7c40f1280c32ca4e7252c...0d4aff2f5a5529a7053607b12ef8d759ce1c62c0 You're receiving this email because of your account on salsa.debian.org.

