Timo Aaltonen pushed to branch debian-unstable at X Strike Force / lib / libinput
Commits: 85092591 by Peter Hutterer at 2020-03-09T10:20:49+10:00 tools: record: fix dmi recording Processing os-release in the same buffer that the dmi modalias used caused the dmi to be recorded as 'dmi: "VERSION_ID=31"'. The cause for that was simply that the dmi modalias was read but not printed until after the os-release information was processed. Fix this two-fold: rearrange that each part now reads and prints in one go, and rename the buffers so we don't re-use them. Signed-off-by: Peter Hutterer <[email protected]> - - - - - 927a7c07 by Peter Hutterer at 2020-03-12T11:02:57+10:00 tools: fix a typo in a man page Signed-off-by: Peter Hutterer <[email protected]> - - - - - e11bad41 by Peter Hutterer at 2020-03-16T08:35:43+10:00 tools: add a libinput analyze command with the per-slot-delta subcommand I've been using this script ever since libinput record was available, might as well ship it with libinput so I don't have to remember where it lives.. Signed-off-by: Peter Hutterer <[email protected]> - - - - - c48e5cf9 by Peter Hutterer at 2020-03-16T09:07:36+10:00 gitlab: revamp the bug template a bit Signed-off-by: Peter Hutterer <[email protected]> - - - - - 6ed3a0b0 by Peter Hutterer at 2020-03-16T13:04:50+10:00 tools: record: allow for an output file without --o libinput record touchpad.yml /dev/input/eventX or just libinput record touchpad.yml are simpler invocations and since we're quite limited in what we can record (i.e. only device files) we can just check the argument list to figure out whether there is something to record to. Signed-off-by: Peter Hutterer <[email protected]> - - - - - 2b3fd5aa by Peter Hutterer at 2020-03-16T16:21:04+10:00 tools: record: use the right exit code when the output file is missing Signed-off-by: Peter Hutterer <[email protected]> - - - - - d0eb8d58 by Peter Hutterer at 2020-03-17T10:08:48+10:00 tools: switch tool option parsing test to use pytest pytest is more powerful than unittest, so let's switch to that instead. And in the process fix a few tests that for some reason succeeded even though they shouldn't have (e.g. the autorestart test). Signed-off-by: Peter Hutterer <[email protected]> - - - - - 4df2ac73 by Benjamin Tissoires at 2020-03-18T09:51:31+01:00 ci: use latest templates, and API Signed-off-by: Benjamin Tissoires <[email protected]> - - - - - e44d7255 by Benjamin Tissoires at 2020-03-18T10:28:06+01:00 ci: use the ci fairy to delete unwanted tags here is some magic dust from https://gitlab.freedesktop.org/libevdev/libevdev/-/merge_requests/49/diffs?commit_id=325839e6401d322ed632bf30e2e0255785bb31f6#7bc093350962b0f3fe1e612f06beaba806ee061f_219_217 Signed-off-by: Benjamin Tissoires <[email protected]> - - - - - 8674bfc9 by Benjamin Tissoires at 2020-03-18T12:16:12+01:00 ci: use ci-fairy to generate the template, not a custom script Signed-off-by: Benjamin Tissoires <[email protected]> - - - - - 09509c9d by Benjamin Tissoires at 2020-03-18T12:21:52+01:00 ci: move the ci template to the expected file for ci-fairy this makes the command to type much easier Signed-off-by: Benjamin Tissoires <[email protected]> - - - - - b35a32dd by Peter Hutterer at 2020-03-20T16:10:11+10:00 man: install the analyze per-slot-delta man page And add libinput analyze to the main libinput man page Signed-off-by: Peter Hutterer <[email protected]> - - - - - 4d92ea11 by Peter Hutterer at 2020-03-20T20:42:51+10:00 tools: if pytest fails to import, skip the tool option parsing test It's not the most important test outside of my machine and CI, so let's just skip over it. Signed-off-by: Peter Hutterer <[email protected]> Tested-by: Michel Dänzer <[email protected]> - - - - - d80bbcb0 by Peter Hutterer at 2020-03-21T11:02:48+10:00 tools: record: drop quotes from os-release information Signed-off-by: Peter Hutterer <[email protected]> - - - - - 33c98fed by Peter Hutterer at 2020-03-21T21:22:52+10:00 doc/api: remove invalid doxygen option doxygen 1.8.17 shows this error: error: Illegal format for option FILTER_PATTERNS, no equal sign ('=') specified for item '*.h' error: Illegal format for option FILTER_PATTERNS, no equal sign ('=') specified for item '*.dox' This was added in deadbf35c41 but I cannot figure out how this ever had any effect based on the documentation for it. So let's drop it, I don't think it has any effect anyway. Signed-off-by: Peter Hutterer <[email protected]> - - - - - bf5229a6 by Peter Hutterer at 2020-03-21T23:02:13+00:00 pad: fix a compiler warning gcc 10 isn't happy with the implicit enum conversion Signed-off-by: Peter Hutterer <[email protected]> - - - - - d6eef77d by Peter Hutterer at 2020-03-22T09:34:22+10:00 touchpad: ratelimit the touch jump tests In most cases these days touch jumps aren't actually fixable, they don't have any good heuristics we can employ to remove them. And, luckily, in most cases it doesn't matter because the users only notice the issue because of the error message. To avoid spamming the user's log, let's ratelimit it. Signed-off-by: Peter Hutterer <[email protected]> - - - - - 150f5dc8 by Peter Hutterer at 2020-03-22T09:34:22+10:00 doc: update the jumping cursor docs Signed-off-by: Peter Hutterer <[email protected]> - - - - - 05201958 by Peter Hutterer at 2020-03-22T10:35:21+10:00 evdev: print a human time for ratelimit tests No point in printing an interval of e.g. 2h as milliseconds, let's convert this to something human-readable. Signed-off-by: Peter Hutterer <[email protected]> - - - - - a1a419df by Peter Hutterer at 2020-03-22T10:43:52+10:00 util: fix a scan-build warning (value set but not read) Signed-off-by: Peter Hutterer <[email protected]> - - - - - 8a858fc6 by Peter Hutterer at 2020-03-22T10:44:17+10:00 test: fix a scan-build warning (value set but not read) This test pre-dates litest_assert_empty_queue(), so let's just use that Signed-off-by: Peter Hutterer <[email protected]> - - - - - 7814bcfe by Peter Hutterer at 2020-03-22T10:51:01+10:00 meson.build: bump to 1.15.900 Signed-off-by: Peter Hutterer <[email protected]> - - - - - 4d42e9b9 by Martin Cihlář at 2020-03-22T12:07:51+01:00 add trust mouse quirk #455 Signed-off-by: Martin Cihlář <[email protected]> - - - - - cbf55a62 by Peter Hutterer at 2020-03-22T22:33:01+00:00 gitlab issue templates: remove the checkmarks They show up like a task list in the issue tracker and that's not useful. Likewise, make the "attach this" more prominent by no longer making it a comment. Signed-off-by: Peter Hutterer <[email protected]> - - - - - d946c062 by Peter Hutterer at 2020-03-23T07:05:28+00:00 gitlab CI: update the various build tests to F32 Signed-off-by: Peter Hutterer <[email protected]> - - - - - 31479b34 by Peter Hutterer at 2020-03-23T07:05:28+00:00 gitlab CI: switch the 'needs' tags to a dashed list We don't use the [...] style list elsewhere, so let's not do this here either. Signed-off-by: Peter Hutterer <[email protected]> - - - - - 5991023a by Peter Hutterer at 2020-03-23T07:05:28+00:00 gitlab CI: invert the ci-templates check This makes the config file simpler, use a variable that is default false but true where we need it. Signed-off-by: Peter Hutterer <[email protected]> - - - - - dedee77d by Peter Hutterer at 2020-03-23T07:05:28+00:00 gitlab CI: autogenerate the qemu tests for the last version of a distribution Where want_qemu is set for a distribution, we generate the qemu tests for that distribution for its last version listed. Signed-off-by: Peter Hutterer <[email protected]> - - - - - 5063f304 by Peter Hutterer at 2020-03-23T07:05:28+00:00 gitlab CI: generate the jobs for the custom builds from the config.yaml Signed-off-by: Peter Hutterer <[email protected]> - - - - - 8ed23424 by Peter Hutterer at 2020-03-25T05:52:56+00:00 doc/user: add a mini-blurb for the new libinput analyze tool Signed-off-by: Peter Hutterer <[email protected]> - - - - - 1547e5b5 by Peter Hutterer at 2020-03-25T05:52:56+00:00 completion: add libinput analyze to zsh completions Signed-off-by: Peter Hutterer <[email protected]> - - - - - 1f5a27bf by Peter Hutterer at 2020-03-29T15:33:24+10:00 tools: add libinput analyze to the libinput tool help output Signed-off-by: Peter Hutterer <[email protected]> - - - - - 281ecf10 by Peter Hutterer at 2020-03-30T00:35:43+00:00 udev: don't use IMPORT+= IMPORT really only supports == and != and for a short while udevd warned about this before that warning was reverted again. Where anything else is used, it falls back to ==. systemd upstream rules all use a single = though, so let's stick with that to be consistent, even if it is technically wrong (udevd will warn about this in debug mode). See the long discussion in systemd upstream for details: https://github.com/systemd/systemd/issues/14062 Fixes #461 Signed-off-by: Peter Hutterer <[email protected]> - - - - - 9351f54d by Peter Hutterer at 2020-03-30T03:48:25+00:00 Fix race condition causing duplicate devices in udev seats There is a race between adding the udev monitor and enumerating current devices. Any device added in that window will show up in both lists, causing it to be added twice. Fix this by comparing the syspath of any added device to the existin ones in the seat - where it matches we can ignore the device. Fixes #459 Signed-off-by: Peter Hutterer <[email protected]> - - - - - ef5204fd by Peter Hutterer at 2020-03-30T14:44:47+10:00 tools: revamp the touchpad-pressure measuring tool Let's hope this one is more obvious to use for users. Signed-off-by: Peter Hutterer <[email protected]> - - - - - 101cbe16 by Peter Hutterer at 2020-03-30T14:45:19+10:00 tools: make the thumb threshold configurable while measuring pressure Signed-off-by: Peter Hutterer <[email protected]> - - - - - 4a9d3e87 by Peter Hutterer at 2020-03-30T15:14:45+10:00 tools: add a measure touchpad-size tool Replacement for the touchpad-edge-detector tool with a slightly more expressive design, hopefully cutting down on some of the bug reports. Signed-off-by: Peter Hutterer <[email protected]> - - - - - 72af32c8 by Peter Hutterer at 2020-03-31T02:49:24+00:00 tablet: use the AttrPressureRange quirk for tablets too The Aiptek 8000U has a pressure offset above our default (%5) but no meaningful way of detecting that. It doesn't provide distance or BTN_TOOL_PEN either, so our heuristics can't hook onto anything. BTN_TOUCH is set by this tablet but not at consistent pressure thresholds. Work around this by shipping a quirk that ups it to 70. Aiptek re-uses USB IDs because of course they do, so this applies to more than one device. Let's see what breaks. Fixes #462 Signed-off-by: Peter Hutterer <[email protected]> - - - - - c4cb4da3 by Peter Hutterer at 2020-04-04T21:10:40+10:00 util: make the trace macro actually useful This has been there for years and I never used it. Much better to convert it to a generically useful one (i.e. one that prints red so it's easy to see) and make it unconditional. Signed-off-by: Peter Hutterer <[email protected]> - - - - - dd0370f7 by Loïc Yhuel at 2020-04-06T23:51:01+02:00 quirks: correctly print boolean values When a boolean quirk is set to "0", it is correctly disabled, but "libinput quirks list" and "libinput record" showed it as "1". This happens for example if ModelXXXX=0 is set in /etc/libinput/local-overrides.quirks, to override a default quirk. Signed-off-by: Loïc Yhuel <[email protected]> - - - - - c23484a9 by Peter Hutterer at 2020-04-11T13:38:48+10:00 tools: per-slot-delta: only render the slots that have been seen Makes the output easier to understand given that most touchpads have 5+ slots but don't actually use them (or the users don't). Signed-off-by: Peter Hutterer <[email protected]> - - - - - 5a9fb539 by Peter Hutterer at 2020-04-11T13:38:48+10:00 tools: per-slot-delta: print the BTN_TOUCH etc. bits in-line New output example: 9.408899 +5ms DBL: ↑↗ 1/ -9 | →→ 0/ 0 | where DBL stands for BTN_DOUBLE. This also widens the relative time by one so we don't lose formatting for >1s delta time. Signed-off-by: Peter Hutterer <[email protected]> - - - - - 4e031753 by Peter Hutterer at 2020-04-11T13:50:53+10:00 tools: per-slot-delta: move printing the slot data into a helper function Signed-off-by: Peter Hutterer <[email protected]> - - - - - 61296fea by Peter Hutterer at 2020-04-11T13:50:53+10:00 tools: per-slot-delta: init the slots with the right index The index is unused, but useful during debugging Signed-off-by: Peter Hutterer <[email protected]> - - - - - d88ad293 by Peter Hutterer at 2020-04-11T14:35:27+10:00 tools: per-slot-delta: add arguments to set a threshold and ignore-below The threshold colors events above a certain value in red, ignore-below skips any line below that threshold. Signed-off-by: Peter Hutterer <[email protected]> - - - - - f5ab18ab by Peter Hutterer at 2020-04-11T15:32:17+10:00 tools: per-slot-delta: always mark slot 0 as used If a device never sends ABS_MT_SLOT, our output was emtpy. Signed-off-by: Peter Hutterer <[email protected]> - - - - - 78dcbec7 by Peter Hutterer at 2020-04-11T15:32:22+10:00 tools: per-slot-delta: drop an unused variable Signed-off-by: Peter Hutterer <[email protected]> - - - - - e48a316c by Peter Hutterer at 2020-04-16T15:45:05+10:00 gitlab ci: fix a templating whitespace issue For some reason I'm too tired to investigate, the whitespace in the CI is different than the locally generated one. Alpine must've updated something, I guess. Quickfix it by adjusting the whitespace so it's correct again. Signed-off-by: Peter Hutterer <[email protected]> - - - - - d107d58c by Peter Hutterer at 2020-04-16T06:10:25+00:00 tools: per-slot-delta: skip the extra evbit indirection e.code is the evbit anyway, we don't have to convert it Signed-off-by: Peter Hutterer <[email protected]> - - - - - 58cf8541 by Peter Hutterer at 2020-04-18T05:17:52+00:00 gitlab CI: Ubuntu 19.04 is EOL, drop it Signed-off-by: Peter Hutterer <[email protected]> - - - - - 3ec74cfc by Peter Hutterer at 2020-04-19T15:18:42+10:00 tools: measure-fuzz: handle a None return correctly Fixes #472 Signed-off-by: Peter Hutterer <[email protected]> - - - - - a22137e7 by Peter Hutterer at 2020-04-19T15:23:23+10:00 tools: measure-fuzz: run systemd-hwdb update, not udevadm hwdb For backwards compatibility reasons, the hwdb.bin created udevadm hwdb does not actually apply matches in the way you'd expect. systemd-hwdb creates the newer format and is preferred. Related: #472 Signed-off-by: Peter Hutterer <[email protected]> - - - - - 28e7f623 by Peter Hutterer at 2020-04-19T16:04:58+10:00 tools: measure-fuzz: fix the tool to work again Where libinput is installed, checking whether the fuzz is applied to the device will always fail with an error - the udev rules will remove the fuzz and copy its value to the LIBINPUT_FUZZ properties instead. So let's fix this: where the fuzz shows up on the device print a warning because libinput's udev rule isn't working. And where it's missing check the udev properties and compare those to the settings instead. Fixes #472 Signed-off-by: Peter Hutterer <[email protected]> - - - - - 975d0367 by Peter Hutterer at 2020-04-19T16:04:58+10:00 tools: measure-fuzz: sleep for 2 seconds to give the hwdb time one second isn't always enough here. Signed-off-by: Peter Hutterer <[email protected]> - - - - - 50ee371c by Troels Blicher Petersen at 2020-05-08T13:18:09+00:00 Lenovo X201 Tablet: Added bezel buttons support in tablet mode This patch allows the bezel buttons, to work when entering SW_TABLET_MODE similar to how other x2xx tablets are working. Signed-off-by: Troels Blicher Petersen <[email protected]> - - - - - bfccf5c4 by Peter Hutterer at 2020-05-12T13:46:57+10:00 touchpad: correct a comment regarding the touchpad integration The previous text wasn't accurate enough, USB used to be considered external but we've since started deferring to the hwdb for those (except Apple). Fixes #483 Signed-off-by: Peter Hutterer <[email protected]> - - - - - 2ff0c342 by Peter Hutterer at 2020-05-13T06:21:27+00:00 test: fix the lookup for the timer offset warnings This was changed in 5e25bdfb0374bf7f9a6b5fc887e81d6a0b492f70 but the litest message lookup wasn't changed. Let's do that now and change to a generic wording we can re-use for other messages. Signed-off-by: Peter Hutterer <[email protected]> - - - - - bd7b9106 by Peter Hutterer at 2020-05-13T06:21:27+00:00 evdev: warn if our event processing lags by 10ms or more Take a snapshot of the time every 10 libinput_dispatch() calls. During event processing, check if the event timestamp is more than 10ms in the past and warn if it is. This should provide a warning to users when the compositor is too slow to processes events but events aren't coming in fast enough to trigger SYN_DROPPED. Because we check the device event time against the dispatch time we may get warnings for multiple devices on delayed processing. This is intended, it's good to know which devices were affected. In the test suite we need to ignore the warning though, since we compose the events in very specific ways it's common to exceed that threshold (particularly when calling litest_touch_move_to). Signed-off-by: Peter Hutterer <[email protected]> - - - - - 152837f4 by Peter Hutterer at 2020-05-21T13:34:28+10:00 quirks: mark the 0x233 razer keyboard as internal Razer Blade 2018 has a different model ID than the one we already have. Fixes #489 Signed-off-by: Peter Hutterer <[email protected]> - - - - - 4ff6d6e3 by Peter Hutterer at 2020-05-21T07:29:44+00:00 Deprecate wheel tilt as separate axis source This has never been supported through the stack. No device ever had the required MOUSE_WHEEL_TILT_VERTICAL/HORIZONTAL udev property set, so libinput never set the right axis source. Neither weston nor mutter added the code for it. Even if we added wheel tilt for devices now, it would break those devices. And the benefit we get from having those separate is miniscule at best. So let's do the long-term thing and just deprecate this axis source. The wheel tilt mouse test device remains in the test suite, with the udev properties set just to verify that we do indeed ignore those now. Signed-off-by: Peter Hutterer <[email protected]> - - - - - 73870d93 by Matt Mayfield at 2020-05-22T02:16:05+00:00 touchpad: restore thumb detection while keeping fixes from !292 !292 improved libinput's ability to detect multiple-finger clicks when the fingers were not aligned close to horizontally. However that caused thumb detection to fail in several use cases. This patch restores thumb detection for - 2+ finger physical clickpad presses - resting thumb while two-finger scrolling - touches in the thumb exclusion area during multi-finger taps and improves pinch detection when thumb is centered below fingers. It also further enhances the flexibility of finger position for 2-, 3-, or 4-finger taps: if all tapping fingers land on the touchpad within a short time (currently 100ms), they will all count regardless of position (unless below the lower_thumb_line). Signed-off-by: Matt Mayfield <[email protected]> - - - - - c457050d by Peter Hutterer at 2020-05-22T03:10:06+00:00 Revert "tablet: don't disable the proximity quirk on good sequences" This quirk was introduced for #248 was caused by buggy input-wacom drivers, not by actual firmware, see https://gitlab.freedesktop.org/libinput/libinput/issues/381#note_279371 This appears to be the only tablet where this fix was needed, but we've been playing whack-a-mole ever since to work around the various other tablets that break with this behavior in place. So let's revert that fix and hope there aren't any other tablets out there (and if they are, we can probably quirk those). The revert makes the ISDV4 pen quirk obsolete (see 9cb089f2b68ba21877ea0973c08837cf073679c8), so this was folded into this commit. This reverts commit 4f63345b60762e9a1c1e229a85058232e6f93ae6. Signed-off-by: Peter Hutterer <[email protected]> - - - - - 0b221c6c by Peter Hutterer at 2020-05-22T03:10:06+00:00 tablet: handle a valid prox-out sequence after a forced proximity out With the previous patches a tablet would ignore a valid proximity out sequence where it happends after a forced prox-out. Fix this by checking the state when we're in forced proximity out - if we have a zero tool state but a tool updated then we did get a proximity out. And fix the existing test to check for that case. Signed-off-by: Peter Hutterer <[email protected]> - - - - - ba24c95b by Peter Hutterer at 2020-05-22T03:10:06+00:00 test: add a test for disabling the forced prox out This somewhat duplicates the existing test huion_static_btn_tool_pen_disable_quirk_on_prox_out Signed-off-by: Peter Hutterer <[email protected]> - - - - - ba68cdf6 by Peter Hutterer at 2020-05-22T03:41:05+00:00 tools: replay: allow for missing quirks entry in libinput recordings Older recordings don't have that field so we should just ignore that case. Signed-off-by: Peter Hutterer <[email protected]> - - - - - 36181294 by Hans de Goede at 2020-05-22T04:06:40+00:00 quirks: Add HP stream x360 11 ModelTabletModeNoSuspend keyboard quirk The HP stream x360 11's embedded-controller filters out events form its builtin keyboard when in tablet-mode itself; and it has a capacitive home-button (windows logo) underneath its display which also sends PS/2 key-events. Suspending the keyboard while in tablet-mode also disable the capacitive home button, which is undesirable. Add a ModelTabletModeNoSuspend quirk so that the home button keeps working when in tablet-mode. This can safely be done since the rest of the keyboard gets disabled by the embedded-controller for us. Signed-off-by: Hans de Goede <[email protected]> - - - - - 0d06bfc4 by Peter Hutterer at 2020-05-26T05:11:01+00:00 tablet: add support for sendevents on tablets This is merely the simple support that we use in the fallback backend as well. It doesn't interact with touch arbitration directly but it'll be good enough for the default use-case. Fixes #476 Signed-off-by: Peter Hutterer <[email protected]> - - - - - 034226d9 by Evan Goode at 2020-05-27T06:21:00+00:00 Allow the flat acceleration profile for touchpads Signed-off-by: Evan Goode <[email protected]> - - - - - 2a7ea444 by Peter Hutterer at 2020-06-02T01:07:01+00:00 Ignore key repeat in all backends Since we don't really care about keys in any of these backends and buttons shouldn't autorepeat anyway, this should have no effect on functionality. But it does guard us against potential kernel bugs like this one: https://www.spinics.net/lists/linux-input/msg67653.html See https://gitlab.freedesktop.org/libinput/libinput/-/issues/447#note_468971 Signed-off-by: Peter Hutterer <[email protected]> - - - - - 75ca6dcf by Peter Hutterer at 2020-06-03T21:22:56+10:00 gitlab CI: alpine needs pip explicitly installed now Signed-off-by: Peter Hutterer <[email protected]> - - - - - 120d4281 by Peter Hutterer at 2020-06-03T21:50:44+00:00 touchpad: add touch state debugging to the palm and tap state debug logs Signed-off-by: Peter Hutterer <[email protected]> - - - - - 6e9477a8 by Peter Hutterer at 2020-06-03T21:50:44+00:00 test: move the check for edge palms on devices to litest proper We'll need this in other files soon Signed-off-by: Peter Hutterer <[email protected]> - - - - - fc7b8d79 by Peter Hutterer at 2020-06-03T21:50:44+00:00 touchpad: correct the tap state transitions for a palm on TOUCH_BEGIN Where a touch is labelled as palm on TOUCH_BEGIN (edge palms) we would still feed the touch through the tap state machine. This would trigger the PALM transition for each state, usually reducing the touch count. When the touches were later released, the touch count was out of sync, resulting in an error message. In the case of #488, the trigger was a single evdev frame with three fingers down, the third of which was an edge palm: - touch 1 transitions from IDLE to TOUCH - touch 2 transitions from TOUCH to TOUCH_2 - touch 3 (the palm) transitioned from TOUCH_2 back to TOUCH That third transition is invalid, the palm hasn't been seen by the tap state machine so it should just be ignored. Fix this by moving making the tap state processing conditional on a touch state other than TOUCH_BEGIN. Fixes #488 Signed-off-by: Peter Hutterer <[email protected]> - - - - - 84fda690 by Peter Hutterer at 2020-06-03T22:32:56+00:00 fallback: add missing curly braces to match the coding style Signed-off-by: Peter Hutterer <[email protected]> - - - - - 4058c435 by Peter Hutterer at 2020-06-03T22:32:56+00:00 evdev: a device without any seat caps is an unhandled device If we don't have any caps, assume the device is unhandled and ignore it. Signed-off-by: Peter Hutterer <[email protected]> - - - - - 8ee3b7a7 by Peter Hutterer at 2020-06-03T22:32:56+00:00 test: fix a bunch of checks for a given switch The has_switch() function returns -1 if the device doesn't have the switch capability - which is the same as "true" and how we used this so far. Fix the checks. Signed-off-by: Peter Hutterer <[email protected]> - - - - - 4cf4aba3 by Peter Hutterer at 2020-06-03T22:32:56+00:00 evdev: filter unreliable tablet mode switch events If we know that the tablet mode switch is bogus anyway, filter the event and don't pass it to the caller. They won't know whether it's bogus so the only result we get here is buggy behaviour. This is the simplest solution here, it filters the mode switch at the lowest level and thus the caller won't know that the tablet even has a mode switch at all. Where the device doesn't have any other switches it'll also lose the switch capability. This may cause issues in some niche cases where the event node only has that one bit and we now disabled it leaving us with a zero-event bit device. Shouldn't matter to callers, but let's see. Fixes #491 Signed-off-by: Peter Hutterer <[email protected]> - - - - - 9ecac89b by Peter Hutterer at 2020-06-04T10:43:33+10:00 tools: per-slot-delta: construct the right InputEvent d107d5 broke this tool because the InputEvent was our local datastructure, which needed the evbit redirect. Fixes d107d58cd25c0e322d3d0a7d68feddcdb9e5e58f Signed-off-by: Peter Hutterer <[email protected]> - - - - - 9b3e0e80 by Peter Hutterer at 2020-06-04T10:43:33+10:00 tools: per-slot-delta: if a NONE touch gets data, assume it's starting If we have a recording that started after the touch down, let's start that touch on the first x/y position update. Signed-off-by: Peter Hutterer <[email protected]> - - - - - 425950d3 by Peter Hutterer at 2020-06-15T20:14:39+10:00 gitlab CI: use ci-fairy for commit message checks Signed-off-by: Peter Hutterer <[email protected]> - - - - - 600a0334 by Peter Hutterer at 2020-06-15T20:50:37+10:00 gitlab CI: check merge requests for the allow collaboration checkbox Signed-off-by: Peter Hutterer <[email protected]> - - - - - 84b3b173 by Yariv Barkan at 2020-06-17T09:46:59+03:00 quirks: fix Apple external trackpad v2 thresholds The external Apple "Magic" trackpads, both the first and the second generations, have pretty good built-in spurious touch filtering. For these device models libinput's own filtering is not required. Using low enough values such as 20:10 effectively disables libinput's filtering.. Signed-off-by: Yariv Barkan <[email protected]> - - - - - bd1fcb9c by Peter Hutterer at 2020-06-17T07:52:00+00:00 utils: add strstartswith() and strendswith() utility functions Modeled after Python's str.startswith() and str.endswith() Signed-off-by: Peter Hutterer <[email protected]> - - - - - d724dc06 by Peter Hutterer at 2020-06-17T07:52:00+00:00 Replace strneq() with strstartswith() for variable prefixes Leaving in-place all those where we know the length of the prefix, but replacing all those where we were calling strlen on the prefix. Signed-off-by: Peter Hutterer <[email protected]> - - - - - 727dc44b by Peter Hutterer at 2020-06-17T07:52:00+00:00 meson.build: use install_subdir() to install the quirks files This removes the need to check whether the files were added in meson.build but requires litest to traverse the source dir now. Signed-off-by: Peter Hutterer <[email protected]> - - - - - c8e8c8fb by John Rodriguez at 2020-06-17T13:33:08+00:00 Add quirks file for Sony Vaio Laptop The file contains pressure overrides for the VPCEG series. Signed-off-by: John Rodriguez <[email protected]> - - - - - 401a80d8 by Peter Hutterer at 2020-06-26T09:28:50+10:00 doc: don't ship the .doctree files with the documentation They're build artifacts and not needed for the actual documentation. Tell sphinx-build to generate those files in a custom directory that's not part of the documentation. Signed-off-by: Peter Hutterer <[email protected]> - - - - - ad54c0c8 by Peter Hutterer at 2020-06-30T10:43:44+10:00 gitlab CI: move the MR check to the deploy stage This gives the developer enough time to file an MR after pushing a branch.. Having this run in the first stage means we get false positives because no MR has been filed yet when the job is run. Signed-off-by: Peter Hutterer <[email protected]> - - - - - f15da0f1 by Peter Hutterer at 2020-07-01T10:57:20+10:00 meson.build: don't install the quirks in a further 'quirks' subdirectory install_subdir() by default also copies the 'quirks' directory, resulting in the quirks files being in <datadir>/libinput/quirks/*.quirks as opposed to the previous <datadir>/libinput/*.quirks. Fixes 727dc44b045974699be53d07464867d3183c6eef Signed-off-by: Peter Hutterer <[email protected]> - - - - - a0643a9c by Peter Hutterer at 2020-07-01T01:21:21+00:00 tools: change the error message for missing tools Given that some people appear to not read until the "is not installed" part of the error message, let's reduce the error message to just that part. This may be confusing where a user mistypes the actual command but that happens rarely compared to those that can't run libinput record because it's in a different package. Fixes #500 Signed-off-by: Peter Hutterer <[email protected]> - - - - - 1ce05ca4 by Peter Hutterer at 2020-07-03T08:54:33+10:00 gitlab CI: drop custom scheduled handling, set FDO_FORCE_REBUILD instead This is a leftover from pre-ci-templates days. Now that ci-templates handles FDO_FORCE_REBUILD remove the custom handling and for the weekly rebuild just set that variable to 1 in the scheduled pipeline itself. Signed-off-by: Peter Hutterer <[email protected]> - - - - - 04e61248 by Peter Hutterer at 2020-07-03T06:57:54+00:00 gitlab CI: hook up coverity This requires the COVERITY_SCAN_TOKEN as listed on the project settings page in coverity itself. The intention here is to run this as a scheduled job, with the pipeline schedule itself controlling the branch name etc. This way we can keep the gitlab CI simple enough and just check for COVERITY_SCAN_TOKEN itself. This job shouldn't ever fail unless coverity is down (we'll fix that then), the results of the coverity run are sent to the user that owns the the scheduled pipeline, i.e. me. Because coverity does not currently work on F32 (invalid GNU version number: 101), we force this to run on F31. Signed-off-by: Peter Hutterer <[email protected]> - - - - - 58d8344d by Ryo Munakata at 2020-07-03T22:18:05+09:00 Add quirk for Lenovo ThinkPad X1 Tablet (1st Gen) Signed-off-by: Ryo Munakata <[email protected]> - - - - - 3403692f by Peter Hutterer at 2020-07-07T18:51:33+10:00 tools: when running the test suite, start the debug-gui minimized This allows us to run the option parsing test without getting interrupted by a million debug-gui windows popping up for half a second. Signed-off-by: Peter Hutterer <[email protected]> - - - - - 9bb81334 by Peter Hutterer at 2020-07-07T18:51:33+10:00 test: inhibit shutdown and suspend while the tests are running We test lid switch events which are independently handled by Upower. Let's make sure nothing else can tell logind to suspend or shut down while we're running. Signed-off-by: Peter Hutterer <[email protected]> - - - - - d78d6629 by Peter Hutterer at 2020-07-07T18:51:33+10:00 test: use context creation helper in the log tests Signed-off-by: Peter Hutterer <[email protected]> - - - - - 52d63987 by Peter Hutterer at 2020-07-07T18:51:33+10:00 test: use litest_destroy_context() for test-suite contexts Symmetrical to litest_create_context(), this allows us to store special data in that context that we have access to during the tests. Signed-off-by: Peter Hutterer <[email protected]> - - - - - 86946342 by Peter Hutterer at 2020-07-07T18:51:33+10:00 test: store the list of open file descriptors in the litest context Signed-off-by: Peter Hutterer <[email protected]> - - - - - 2e257410 by Peter Hutterer at 2020-07-07T18:51:33+10:00 test: grab the device before any lid or tablet mode switches Putting an EVIOCGRAB on the device before sending those events means no-one else sees those events - particularly upower. This means no-one else knows the lid is on or off and thus we never blank the screen (or suspend/shut down but those are inhibited anyway). Signed-off-by: Peter Hutterer <[email protected]> - - - - - 912a457f by Peter Hutterer at 2020-07-08T13:25:12+10:00 tools: add missing linebreak in error message Missing from a0643a9c9879e569c2a47b13f203561de8031cc0 Signed-off-by: Peter Hutterer <[email protected]> - - - - - 0ccf4360 by Peter Hutterer at 2020-07-09T09:50:49+10:00 test: fix the ABS_Y handling for the Protocol A test device No effect on the test results because we never use ABS_Y anyway for multitouch devices. Fixes #505 Signed-off-by: Peter Hutterer <[email protected]> - - - - - c64d1483 by Peter Hutterer at 2020-07-15T09:36:48+10:00 test: rename the identifier in the 50-litest.conf Signed-off-by: Peter Hutterer <[email protected]> - - - - - c9ff7e78 by Peter Hutterer at 2020-07-15T09:36:48+10:00 libinput 1.15.901 Signed-off-by: Peter Hutterer <[email protected]> - - - - - eededbeb by Peter Hutterer at 2020-07-15T03:24:44+00:00 evdev: fix the check for tablet vs joystick A device may have ID_INPUT_JOYSTICK and ID_INPUT_KEY in which case it would still get added, despite being a joystick device. Make sure we check only the tablet and joystick bits - where a device has the joystick bit set but not the tablet one we ignore it. Note that this check will get removed in the next commit anyway, it's just here to make tracking the change easier in the history (and figuring out where potential regressions come from). Fixes #415 Signed-off-by: Peter Hutterer <[email protected]> - - - - - b9ec4088 by Peter Hutterer at 2020-07-15T03:24:44+00:00 evdev: drop the check for tablet vs joystick libwacom has been unsetting ID_INPUT_JOYSTICK for known tablets since 2015 (libwacom 0.12) so this comment is outdated. And the input-id udev builtin never labels something as tablet *and* joystick. Which means: systemd sets either tablet or joystick. For tablets that are known to libwacom the joystick bit gets corrected and we only see the tablet bits. Tablets unknown to libwacom remain as joysticks and are ignored but that's the behavior we had anyway. Signed-off-by: Peter Hutterer <[email protected]> - - - - - d6c6c40f by Peter Hutterer at 2020-07-15T21:58:52+00:00 quirks: correct modalias for the Lenovo X1 Gen6 >From commit 74e20e0ae01170fdc967e1a5cfeaea02ce57977a, bug report https://bugzilla.redhat.com/show_bug.cgi?id=1565692 Signed-off-by: Peter Hutterer <[email protected]> - - - - - ac91d8df by Peter Hutterer at 2020-07-15T21:58:52+00:00 touchpad: disable jump detection on the Lenovo X1 Gen6 touchpad This touchpad has firmware that seems to buffer events. In the words of the reporter: In usage, it feels like motions vary between smooth and choppy; slow movements are smooth and quick movements are choppy. It's as if the touchpad aggregates quick movements and sends one big movement instead of sending discrete events. To make the movement more natural, the events preceding the jump should be of higher magnitude and the jump less pronounced, but that's just not how the touchpad works, it seems. In the actual event data this looks exactly like a pointer jump: small movements, one big one, then small ones again. If we filter that large movement out we prevent the user from moving quickly. There's no way to detect this or work around this, so let's add a quirk that disables the jump detection for this device. Fixes #506 Signed-off-by: Peter Hutterer <[email protected]> - - - - - 813a4583 by Peter Hutterer at 2020-07-22T10:47:22+10:00 gitlab CI: remove a bunch of trailing spaces Signed-off-by: Peter Hutterer <[email protected]> - - - - - b74f0330 by Peter Hutterer at 2020-07-22T10:47:22+10:00 gitlab CI: build an rpm package to verify the installed file list This is not a package intended for, it's a job to fail when we accidentally change the file list. An rpmbuild job like this was what detected f15da0f10890467712222410233c0bec9faefdd0. The spec file resembles the Fedora one but has BuildRequires removed (we rely on the container for that). The same task could be achieved by keeping a file list and comparing the installed tree but since I had the rpm spec file already, let's use that for now. This requires meson 0.55 which hit F32 yesterday. Signed-off-by: Peter Hutterer <[email protected]> - - - - - 13c3b008 by Peter Hutterer at 2020-07-27T15:36:24+10:00 libinput 1.15.902 Signed-off-by: Peter Hutterer <[email protected]> - - - - - 0e7beaa0 by Diego Abad A at 2020-07-27T08:37:10-05:00 FIX: typo on building documentation Signed-off-by: Diego Abad <[email protected]> - - - - - a014df10 by Peter Hutterer at 2020-08-03T15:24:45+10:00 test: semi-fix the switch_suspend_with_touchpad test This used to do nothing, now at least it does the same thing as the corresponding keyboard test. It merely tests the switch going on/off while a touchpad is present, so short of an unexpected error message or a crash this test doesn't actually test for any specific behavior. Fixes #502 Signed-off-by: Peter Hutterer <[email protected]> - - - - - af6fed94 by Peter Hutterer at 2020-08-03T15:37:49+10:00 libinput 1.16.0 Signed-off-by: Peter Hutterer <[email protected]> - - - - - 6219a036 by Timo Aaltonen at 2020-08-03T10:20:05+03:00 Merge tag '1.15.5' into d-u 1.15.5 - - - - - d1467375 by Timo Aaltonen at 2020-08-03T10:21:33+03:00 Merge branch 'debian-unstable' into d-u - - - - - 5bda7d39 by Timo Aaltonen at 2020-08-03T10:22:17+03:00 bump the version - - - - - 6adc917a by Timo Aaltonen at 2020-08-03T10:24:36+03:00 control: Bump policy to 4.5.0. - - - - - b6b2e967 by Timo Aaltonen at 2020-08-03T10:38:08+03:00 release to sid - - - - - 30 changed files: - .gitlab-ci.yml - − .gitlab-ci/check-commit.py - .gitlab-ci/gitlab-ci.tmpl → .gitlab-ci/ci.template - + .gitlab-ci/config.yml - − .gitlab-ci/generate-gitlab-ci.py - + .gitlab-ci/libinput.spec.in - .gitlab/issue_templates/Bug.md - completion/zsh/_libinput - debian/changelog - debian/control - doc/user/absolute-coordinate-ranges.rst - doc/user/building.rst - doc/user/meson.build - doc/user/tools.rst - doc/user/touchpad-pressure-debugging.rst - meson.build - quirks/30-vendor-aiptek.quirks - quirks/30-vendor-razer.quirks - + quirks/30-vendor-trust.quirks - quirks/30-vendor-wacom.quirks - quirks/50-system-apple.quirks - quirks/50-system-hp.quirks - quirks/50-system-lenovo.quirks - + quirks/50-system-sony.quirks - − quirks/test-quirks-in-meson.build.sh - src/evdev-fallback.c - src/evdev-mt-touchpad-gestures.c - src/evdev-mt-touchpad-tap.c - src/evdev-mt-touchpad-thumb.c - src/evdev-mt-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/037854e241531d93e78e7527848e20cb13086b1b...b6b2e967d615ebef754073cdf507c23b1da166b9 -- View it on GitLab: https://salsa.debian.org/xorg-team/lib/libinput/-/compare/037854e241531d93e78e7527848e20cb13086b1b...b6b2e967d615ebef754073cdf507c23b1da166b9 You're receiving this email because of your account on salsa.debian.org.

