Commit graph

4277 commits

Author SHA1 Message Date
weizhixiang
bb84fcc738 check return value for udev_new()
Signed-off-by: weizhixiang <1138871845@qq.com>
2020-09-15 10:42:47 +08:00
Peter Hutterer
5ebd7bd1f0 tools/replay: check the recorded udev properties against the local properties
Where a device is replayed locally for testing, its udev properties should
match the recorded properties. Otherwise the testing results will not be
reliable.

The exception here is the device group which we currently don't set for
emulated devices and even if we did, it may intentionally differ anyway.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-09-11 04:36:03 +00:00
Peter Hutterer
f86d6a6e5a meson.build: add a few compiler warnings and make them compiler-conditional
These seem like a decent-enough set to have, only -Wlogical-op actually
produced a new warning.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-09-09 13:57:39 +10:00
Peter Hutterer
7ad976984e timer: fix a logic error checking the list node
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-09-09 13:57:39 +10:00
Peter Hutterer
f00e388686 quirks: fix a logical error checking for A..Z
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-09-09 13:57:39 +10:00
Peter Hutterer
c6f87ade84 meson.build: drop the separate cpp flags
All we care about for C++ is that we build.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-09-09 13:57:39 +10:00
Peter Hutterer
ad2216b4c8 meson.build: bump minimum version to 0.47
It's been out for 2 years.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-09-09 12:36:28 +10:00
Peter Hutterer
5ef4329ceb doc/api: drop the doxygen/graphviz version checks
Both of our minimum versions were released in 2012, no more need to check.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-09-09 12:36:28 +10:00
Peter Hutterer
5201ed8cc6 meson.build: update libwacom dependency to 0.27 or newer
Released in 2017, that's enough waiting

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-09-09 12:36:09 +10:00
Peter Hutterer
a62e2b14a2 Drop the trailing slash from the HTTP_DOC_LINK
It makes the printf statements nicer and we ne don't use it on its own
anywhere anyway.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-09-09 11:36:07 +10:00
Peter Hutterer
d007a8155b meson.build: we no longer install a hwdb file, so drop the directory define
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-09-09 11:36:07 +10:00
Peter Hutterer
9fa57c6ef7 meson.build: drop a meson < 0.43 condition
We require meson 0.45, so this can no longer be triggered.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-09-09 11:36:07 +10:00
Peter Hutterer
852f7f8e03 meson.build: bump to 1.16.900
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-09-09 11:36:07 +10:00
weizhixiang
6e03da6344 remove extra paramenter in libinput-debug-events
Signed-off-by: weizhixiang <1138871845@qq.com>
2020-09-07 09:50:07 +00:00
Peter Hutterer
0c51121556 touchpad: ignore the ALPS jump to 4095/0
Some ALPS touchpad send the occasional 4095/0 event on slot 1 during
two-finger interaction before snapping back to the actual position of the
finger. There doesn't seem to be a specific heuristic to predict this so let's
hardcode those values. When detected, overwrite the current touch point with
the position of the last point. This will likely cause a small pointer jump
when the finger later moves to the real position but based on #492 this could
be a second later, so all bets are off anyway.

Fixes https://gitlab.freedesktop.org/libinput/libinput/-/issues/492

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-09-07 02:13:40 +00:00
Peter Hutterer
9f8b9f5f53 doc: fix a wrongly named parameter
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-09-04 09:54:49 +10:00
Rosen Penev
467752047e
[clang-tidy] do not use else after return
Found with readability-else-after-return

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-08-27 01:17:24 -07:00
Rosen Penev
cd71a73d62
[clang-tidy] fix inconsistent declarations
Found with readability-inconsistent-declaration-parameter-name

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-08-27 01:00:31 -07:00
Rosen Penev
9d72909658
[clang-tidy] remove pointless return in void function
Found with readability-redundant-control-flow

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-08-27 00:58:40 -07:00
Peter Hutterer
e926d3d919 tools: fix a replay exception when a recording has an empty quirks list
Fixes https://gitlab.freedesktop.org/libinput/libinput/-/issues/520

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-08-24 08:35:12 +10:00
Peter Hutterer
36f1c85b1e gitlab CI: drop Fedora 30
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-08-20 06:18:02 +00:00
Alyssa Ross
81e6179b1e
quirks: add Google Pixelbook (eve)
Signed-off-by: Alyssa Ross <hi@alyssa.is>
2020-08-15 17:55:40 +00:00
Peter Hutterer
9dbfc700fe libinput 1.16.1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-08-13 12:05:58 +10:00
Peter Hutterer
6d1f2f88d6 test: add two test devices for the false joystick labelling
Two devices that were affected by the regression fixed with #517

Test devices taken from:
https://gitlab.freedesktop.org/libinput/libinput/-/issues/514
https://gitlab.freedesktop.org/libinput/libinput/-/issues/515

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-08-13 11:02:33 +10:00
Peter Hutterer
84591b80a8 include: update event codes to v5.8
SW_MAX changed and the device_capability_nocaps_ignored test will fail on
older kernels. Change that test to use some other unhandled-by-libinput switch
code instead.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-08-13 11:02:33 +10:00
Peter Hutterer
585dab0ae2 evdev: remove now-misleading comment
libwacom has been removing ID_INPUT_JOYSTICK for years

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-08-13 11:02:33 +10:00
Peter Hutterer
88b62031b3 Revert "evdev: fix the check for tablet vs joystick"
There are a number of devices that have the ID_INPUT_JOYSTICK tag set by udev,
usually because of seemingly random event codes set. We cannot rely on
ID_INPUT_JOYSTICK to be accurate enough.

Fixes #517

This reverts commit eededbeb7f.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-08-13 11:02:25 +10:00
haarp
834a6d1df1 Add original MX Master to inverted-horizontal-wheel-having mice.
with help from
https://github.com/libratbag/libratbag/blob/master/data/devices/\
logitech-MX-Master.device

Signed-off-by: haarp <main.haarp@gmail.com>
2020-08-11 19:47:23 +02:00
Peter Hutterer
af6fed94d8 libinput 1.16.0
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-08-03 15:37:49 +10:00
Peter Hutterer
a014df1081 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 <peter.hutterer@who-t.net>
2020-08-03 15:24:45 +10:00
Diego Abad A
0e7beaa058 FIX: typo on building documentation
Signed-off-by: Diego Abad <dabada83@gmail.com>
2020-07-27 08:37:10 -05:00
Peter Hutterer
13c3b008d0 libinput 1.15.902
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-07-27 15:36:24 +10:00
Peter Hutterer
b74f03301b 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
f15da0f108.

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 <peter.hutterer@who-t.net>
2020-07-22 10:47:22 +10:00
Peter Hutterer
813a458352 gitlab CI: remove a bunch of trailing spaces
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-07-22 10:47:22 +10:00
Peter Hutterer
ac91d8df3b 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 <peter.hutterer@who-t.net>
2020-07-15 21:58:52 +00:00
Peter Hutterer
d6c6c40fda quirks: correct modalias for the Lenovo X1 Gen6
From commit 74e20e0ae0, bug report
https://bugzilla.redhat.com/show_bug.cgi?id=1565692

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-07-15 21:58:52 +00:00
Peter Hutterer
b9ec408872 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 <peter.hutterer@who-t.net>
2020-07-15 03:24:44 +00:00
Peter Hutterer
eededbeb7f 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 <peter.hutterer@who-t.net>
2020-07-15 03:24:44 +00:00
Peter Hutterer
c9ff7e78d9 libinput 1.15.901
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-07-15 09:36:48 +10:00
Peter Hutterer
c64d148372 test: rename the identifier in the 50-litest.conf
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-07-15 09:36:48 +10:00
Peter Hutterer
0ccf43600c 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 <peter.hutterer@who-t.net>
2020-07-09 09:50:49 +10:00
Peter Hutterer
912a457f18 tools: add missing linebreak in error message
Missing from a0643a9c98

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-07-08 13:25:12 +10:00
Peter Hutterer
2e25741061 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 <peter.hutterer@who-t.net>
2020-07-07 18:51:33 +10:00
Peter Hutterer
86946342fb test: store the list of open file descriptors in the litest context
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-07-07 18:51:33 +10:00
Peter Hutterer
52d6398753 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 <peter.hutterer@who-t.net>
2020-07-07 18:51:33 +10:00
Peter Hutterer
d78d662928 test: use context creation helper in the log tests
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2020-07-07 18:51:33 +10:00
Peter Hutterer
9bb8133486 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 <peter.hutterer@who-t.net>
2020-07-07 18:51:33 +10:00
Peter Hutterer
3403692ff0 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 <peter.hutterer@who-t.net>
2020-07-07 18:51:33 +10:00
Ryo Munakata
58d8344da9 Add quirk for Lenovo ThinkPad X1 Tablet (1st Gen)
Signed-off-by: Ryo Munakata <ryomnktml@gmail.com>
2020-07-03 22:18:05 +09:00
Peter Hutterer
04e612488a 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 <peter.hutterer@who-t.net>
2020-07-03 06:57:54 +00:00