Commit graph

3735 commits

Author SHA1 Message Date
Peter Hutterer
14dcc65912 doc: note that libinput measure is a separate package
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 3f557f7246)
2019-06-24 12:55:45 +10:00
timrichardson
305387be6f X230 trackpoint quirk
(cherry picked from commit 62936d8a41)
2019-06-24 12:55:36 +10:00
Alex Flowers
65052a92e3 quirks: add a quirk for the Lenovo X1 Yoga 1st gen
Signed-off-by: Alex Flowers <afpv72@gmail.com>
(cherry picked from commit 3a6d8c582e)
2019-06-24 12:54:51 +10:00
Zach Moazeni
200a863dac Better Thinkpad T480 trackpoint multiplier
(cherry picked from commit 383a60abea)
2019-06-24 12:54:18 +10:00
Peter Hutterer
c68345f8b4 udev: only change the fuzz on touchpads and touchscreens
If we don't handle a device, don't touch it. Especially joysticks that we
don't handle and thus should not touch either.

Related to !231

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 410b157e84)
2019-06-24 12:54:15 +10:00
Peter Hutterer
7e70b0a1b4 doc/api: more CSS styling
(cherry picked from commit fe47232949)
2019-06-24 12:54:07 +10:00
René Genz
473563ea1f doc/user: fix some typos
(cherry picked from commit 58ce4960e4)
2019-06-24 12:54:03 +10:00
Peter Hutterer
6e60f8fb19 quirks: add trackpoint integration attribute
Some versions [1] of the Lenovo ThinkPad Compact USB Keyboard with TrackPoint USB
have the pointing stick on an event node that has keys but is not a regular
keyboard. Thus the stick falls through the cracks and gets disabled on tablet
mode switch. Instead of adding more hacks let's do this properly: tag the
pointing stick as external and have the code in place to deal with that.

[1] This may be caused by recent kernel changes

Fixes #291

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 8dfe8c68eb)
2019-06-24 12:53:56 +10:00
Peter Hutterer
9694d91f7c quirks: handle ID_INPUT_KEY as udev keyboard match
We handle that as keyboard in the evdev code, let's do so here as well.

Related to #291

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 5e3c45780f)
2019-06-24 12:53:46 +10:00
Peter Hutterer
3325b8179b libinput 1.13.2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-05-09 10:29:58 +10:00
Peter Hutterer
67312a7c4e test: fix the wacom bamboo touch device
Missing buttons caused it to fail sanity checks in some cases.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 632b0f741b)
2019-05-09 10:29:58 +10:00
Peter Hutterer
05eb41b8cc test: fix a bunch of tests expecting BTN_TOOL_TRIPLETAP
A device may have 1 or 2 slots without setting BTN_TOOL_TRIPLETAP, those
devices will fail those tests.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 803a99ac05)
2019-05-09 10:29:58 +10:00
Peter Hutterer
652e8e4e56 Revert "Reduce button scroll timeout to 38ms"
This introduces a regression, see #265. Reverting until a better solution can
be found.

This reverts commit 5dae7aac38.

(cherry picked from commit dd96d6b900)
2019-05-02 11:12:04 +10:00
Peter Hutterer
df712c9dbb test: update valgrind suppressions for a glib leak
Fixed upstream, but it's not in F30 yet so the valgrind tests fail there.
https://gitlab.gnome.org/GNOME/glib/merge_requests/338

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit c35e0e734f)
2019-05-01 14:10:37 +10:00
Peter Hutterer
a7736c03f0 touchpad: rotate the touch part of tablets
Tablets in left-handed mode are rotated, so we need to rotate the touchpad
part of them too. This doesn't affect all tablets though, some of them are
symmetrical and the left-handed mode merely changes the button order around
(some of the earlier Bamboos). So we rely on libwacom to tell us which device
must be rotated.

The rotation itself is done on the input coordinate itself as we get it. This
way any software buttons, palm zones, etc. are automatically handled by rest
of the code.

Fixes #274

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 6229df184e)
2019-05-01 14:10:34 +10:00
Peter Hutterer
9c781d07c3 test: use identifiable shortnames for the Intuos5 devices
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 3542855902)
2019-05-01 14:10:33 +10:00
Sebastian Krzyszkowiak
e5ab320b0a CI: update arch package list
Signed-off-by: Sebastian Krzyszkowiak <dos@dosowisko.net>
(cherry picked from commit 48236ca174)
2019-05-01 14:10:24 +10:00
Sebastian Krzyszkowiak
13e82c582e evdev-mt-touchpad-buttons: use a model quirk instead of vendor ID to identify Apple devices
Recent Apple touchpads use a proper Bluetooth vendor ID assigned to Apple instead of the USB one,
so this code would have to check for two vendor IDs and their udev types. However, we already
have that matching done via models in quirks, so let's just use that.

Signed-off-by: Sebastian Krzyszkowiak <dos@dosowisko.net>
(cherry picked from commit 7618c961a8)
2019-05-01 14:10:19 +10:00
Sebastian Krzyszkowiak
88f0ad5a27 quirks: add a new Apple vendor ID for Bluetooth devices
Also, set a default AttrTouchSizeRange for Apple touchpads via Bluetooth
to match the one from the USB rule.

Signed-off-by: Sebastian Krzyszkowiak <dos@dosowisko.net>
(cherry picked from commit a99793f256)
2019-05-01 14:10:15 +10:00
Jason Gerecke
c13567bb68 fallback: Fix ubsan runtime error
Running libinput-test-suite with -fsanitize=undefined highlights the two
following errors. Force C to realize we want an unsigned result by making
the '1' literal unsigned.

../src/evdev-fallback.c:314:22 runtime error: left shift of 1 by 31 places cannot be represented in type 'int'
../src/evdev-fallback.c:377:24 runtime error: left shift of 1 by 31 places cannot be represented in type 'int'

v2: use bit() instead of manual shift 1U<<1

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit f589f4968f)
2019-05-01 14:07:01 +10:00
Peter Hutterer
0488af4b90 tools: use American spelling for 'unrecognized'
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 80a52c28df)
2019-05-01 14:06:41 +10:00
Peter Hutterer
424e27ff23 libinput 1.13.1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-04-09 10:41:47 +10:00
Benjamin Tissoires
0ae355ad59 CI: simplify the logic for rebuilding the containers
right now the check_if_older_than_a_week rule does (in pseudo-code):
- get timestamp of current image or 0
- get timestamp of upstream image or 0
- if upstream image is newer than current image
  copy upstream image into current
- if we are in a scheduled pipeline, or if there is no current image
  (timestamp of 0), rebuild the current image

The ci-templates if-not-exists rule does:
- if there is a current image, exit
- if there is an upstream image, copy it to current and exit
- rebuild

Having the following is equivalent to the current behaviour and
can be used instead of check_if_older_than_a_week:
- if there is an upstream image, copy it to current and exit
- if there is a current image, exit
- rebuild

Because what matters is:

forks should be running the upstream image if available
forks should be running the latest upstream image in the libinput case
forks should be able to rebuild the images if there is no upstream
(change of the image tag)

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
(cherry picked from commit 6d96d417a0)
2019-04-09 10:31:05 +10:00
Benjamin Tissoires
6e7a52b87f CI: do not rebuild the image for regular MR or pushes
We better not rebuild the image in regular operations unless there is a
strong need for it.
We can however set up a scheduled pipeline to rebuild the images once
a week or once a month in the upstream repo, and the forks will fetch
those new images when they need.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
(cherry picked from commit 51e66ab945)
2019-04-09 10:31:04 +10:00
Benjamin Tissoires
ca0a00d31f CI: use templates for Ubuntu
For ubuntu, we need to enable some special packages, so use a script.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
(cherry picked from commit 67cdd3d2d4)
2019-04-09 10:31:02 +10:00
Benjamin Tissoires
9c715276a4 CI: use templates for Arch
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
(cherry picked from commit 0ff4088aea)
2019-04-09 10:31:01 +10:00
Benjamin Tissoires
1543d52a83 CI: use the template for fedora
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
(cherry picked from commit e2cdc4efdd)
2019-04-09 10:31:00 +10:00
Benjamin Tissoires
ffb779cfc5 CI: clean up all but the correct tag
We should rely on the provided tag, not latest.
Move the clean stage at the end, there is no point in running it at
the beginning.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
(cherry picked from commit 5789e8b930)
2019-04-09 10:30:59 +10:00
Benjamin Tissoires
c6bcdcb0a5 CI: heavily rework the container creation
Now everybody gets to rebuild their own containers if there is a change
(too old or change in the packages). This should allow the MR touching
the package list to succeed.

Removal of the container_check stage, we can just have this in a
before_script.

Removal of the manual creation of the containers, not needed as we better
just increment <DISTRO>_TAG.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
(cherry picked from commit ab6536682b)
2019-04-09 10:30:58 +10:00
Benjamin Tissoires
64d1fa77d4 CI: remove the bootstrapping stage
We want to have a common repo for the containers templates.
So we can reuse the produced image from this repo and remove our custom
bootstrap image.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
(cherry picked from commit 93cec9197a)
2019-04-09 10:30:56 +10:00
Lubomir Rintel
cbbac5ebd0 quirks: speed up the TrackPoint on the IBM USB UltraNav keyboard a bit
By default it's unbearably slow.

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
(cherry picked from commit b31d842ac3)
2019-04-08 17:25:52 +10:00
Ian Douglas Scott
be5c7723b2 Enable ModelTabletNoProximityOut quirk on HP Spectre 13-ap0xxx
Ideally, this should probably match a broader range of devices. But I'm
not sure what it should specify.

Fixes #261

(cherry picked from commit caadad75c0)
2019-04-08 17:25:33 +10:00
Peter Hutterer
c8ce949b4e doc/api: minor style changes
Reduces the size of the group name in the title.

Removes the background image from the navpath where it appears (file reference
page for example).

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 199f179a3f)
2019-04-08 17:25:27 +10:00
Peter Hutterer
1e860c98d3 doc/api: add since tags to all functions after 1.0
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 4bb2899d00)
2019-04-08 17:25:24 +10:00
Peter Hutterer
710b4a2fa5 tools: record: increase value size to 6 digits
Tablets commonly have higher axis ranges, might as well make sure they line
up.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 247b2344a5)
2019-04-08 17:25:14 +10:00
Peter Hutterer
90073ea07a quirks: add a test to make sure all our quirks files are listed in meson
Simple diff between the file list and what ls gives us in the quirks
directory.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 72b3f657c4)
2019-04-08 17:25:10 +10:00
Peter Hutterer
992a30f0a0 meson.build: add the toshiba quirks file to the file list
Was added to git in c741a42aec but not added to
meson's file list.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 1b1a9f636f)
2019-04-08 17:25:07 +10:00
Tobias Stoeckmann
cfa64f4912 Removed whitespace from filename.
Having a whitespace at the end of a quirks file is not useful.

Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
(cherry picked from commit a46f7dff6b)
2019-04-08 17:25:05 +10:00
Peter Hutterer
8610c18086 libinput 1.13.0
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-03-29 09:39:30 +10:00
Peter Hutterer
31d1aa7f28 test: add another valgrind suppression for Python
This triggers on Fedora 30, even though skip skip the tools options test when
running under valgrind.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-03-28 16:14:08 +10:00
Peter Hutterer
56dfa2f6c0 test: fix tool option parsing tests for signals
Not sure how this ever worked correctly: a process terminated by a signal has
the negative signo as return code. This would apply to every debug-events and
debug-gui test because they have to get killed by a signal. This failed
occasionally, presumably a race with the GTK startup/signal handler/whatever.

Fix this by a) sending SIGQUIT because that won't get handled by the tools and
b) prending that if we get a -SIGQUIT exit code, everything is fine.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-03-28 15:47:31 +10:00
Peter Hutterer
79293ea456 tools: fix the tool option parse test to handle unittest arguments
Pass arguments we don't handle directly through to the unittest module. This
way we can filter tests with -k testname etc.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-03-28 15:47:31 +10:00
Peter Hutterer
5d7c93a3d1 doc/api: improve readability of the API docs
Still not great and probably makes any professional designer's eyes bleed, but
at least it's more readable now.

Changes:
- spacing after param name so they don't cuddle up with the description
- color changes and background image removals to drop the doxygen default look
- font size changes to not make things overrun
- font family change to make the function prototypes readable

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-03-27 16:01:10 +10:00
Peter Hutterer
26702e4d73 Fix three coverity complaints
Two resource leaks, one uninitialized variable.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-03-25 15:15:13 +10:00
Peter Hutterer
2edc7e37ac test: mark the protocol A device as touch device
Now that we're emulating everything correctly, let's mark it as proper touch
device.

Two test cases need to be excluded:
- double-down triggers an assert in the test device because this isn't
  possible this way with protocol A devices
- the axisrange warning test can't be triggered, mtdev clips those axes

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-03-22 16:23:17 +10:00
Peter Hutterer
44702e947c test: switch the protocol A test device to be an actual protocol A device
This device mostly behaved like a normal touch device except for
SYN_MT_REPORT. Switch it to behave like a real protocol A device and adjust
the test accordingly.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-03-22 16:23:17 +10:00
Peter Hutterer
11adaadd51 test: let the device custom create method return a bool
This is so we can tell litest to create the device anyway, useful for when all
we have to do in the custom create is allocate some memory.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-03-22 16:23:17 +10:00
Peter Hutterer
5a041de7a6 test: drop remnants of the test device udev rules
Removed with 27188228fd but we still had the
meson define being set.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-03-22 03:21:22 +00:00
Peter Hutterer
566d73aa3d test: don't install our normal rules file in installed mode
When running the test-suite, don't install our rules for device groups and
model quirks - they're expected to be present already.

Plus, since we copy them from the meson build dir, we don't have
those files available anyway.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-03-22 03:21:22 +00:00
Konstantin Kharlamov
3a8631a88d evdev: remove unnecessary comparison
All "goto err" resides after fd have been properly initialized.

Fixes "Comparison is always true because fd >= 0." warning by LGTM.

Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
2019-03-22 00:02:24 +03:00