libinput 1.10
This commit is contained in:
parent
27ee09342e
commit
b1b6782406
1
.gitignore
vendored
1
.gitignore
vendored
@ -15,3 +15,4 @@
|
||||
/libinput-1.9.4.tar.xz
|
||||
/libinput-1.9.901.tar.xz
|
||||
/libinput-1.9.902.tar.xz
|
||||
/libinput-1.10.0.tar.xz
|
||||
|
@ -1,56 +0,0 @@
|
||||
From d26b08b93f05eba58d46ad6811e71e9da0e74201 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Mon, 5 Feb 2018 09:11:42 +1000
|
||||
Subject: [PATCH libinput] tablet: don't set rotation on a tool if we don't
|
||||
have ABS_Z
|
||||
|
||||
Rotation on a tool can either ABS_Z or in the case of the mouse/lens tools a
|
||||
combination of ABS_TILT_X/Y. The code assumes that if the rotation on a stylus
|
||||
(not mouse/lense) changes, we need to fetch it from ABS_Z. This happens on the
|
||||
very first event from the tablet, proximity in invalidates all axes so we can
|
||||
send the current state to the caller.
|
||||
|
||||
On libwacom-recognized tablets we never set the rotation bit on the stylus, so
|
||||
that's all fine. On tablets without libwacom support, the stylus may have a
|
||||
rotation bit copied because we have it set thanks to mouse+tilt on the tablet.
|
||||
When that first event is handled, we try to access ABS_Z. On tablets without
|
||||
ABS_Z like Aipteks, we go boom.
|
||||
|
||||
Fix this by checking for ABS_Z during tablet init, if we don't have that axis
|
||||
then never set the rotation bit on the tool. That's the only axis where we
|
||||
need this, all other axes have a single cause only and thus the tablet bits
|
||||
are accurate anyway.
|
||||
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=104939
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
---
|
||||
src/evdev-tablet.c | 12 +++++++++++-
|
||||
1 file changed, 11 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/evdev-tablet.c b/src/evdev-tablet.c
|
||||
index 2f6b64da..771e7775 100644
|
||||
--- a/src/evdev-tablet.c
|
||||
+++ b/src/evdev-tablet.c
|
||||
@@ -933,7 +933,17 @@ tool_set_bits(const struct tablet_dispatch *tablet,
|
||||
copy_axis_cap(tablet, tool, LIBINPUT_TABLET_TOOL_AXIS_TILT_X);
|
||||
copy_axis_cap(tablet, tool, LIBINPUT_TABLET_TOOL_AXIS_TILT_Y);
|
||||
copy_axis_cap(tablet, tool, LIBINPUT_TABLET_TOOL_AXIS_SLIDER);
|
||||
- copy_axis_cap(tablet, tool, LIBINPUT_TABLET_TOOL_AXIS_ROTATION_Z);
|
||||
+
|
||||
+ /* Rotation is special, it can be either ABS_Z or
|
||||
+ * BTN_TOOL_MOUSE+ABS_TILT_X/Y. Aiptek tablets have
|
||||
+ * mouse+tilt (and thus rotation), but they do not have
|
||||
+ * ABS_Z. So let's not copy the axis bit if we don't have
|
||||
+ * ABS_Z, otherwise we try to get the value from it later on
|
||||
+ * proximity in and go boom because the absinfo isn't there.
|
||||
+ */
|
||||
+ if (libevdev_has_event_code(tablet->device->evdev, EV_ABS,
|
||||
+ ABS_Z))
|
||||
+ copy_axis_cap(tablet, tool, LIBINPUT_TABLET_TOOL_AXIS_ROTATION_Z);
|
||||
break;
|
||||
case LIBINPUT_TABLET_TOOL_TYPE_MOUSE:
|
||||
case LIBINPUT_TABLET_TOOL_TYPE_LENS:
|
||||
--
|
||||
2.14.3
|
||||
|
@ -4,7 +4,7 @@
|
||||
%global gitversion 58abea394
|
||||
|
||||
Name: libinput
|
||||
Version: 1.9.902
|
||||
Version: 1.10.0
|
||||
Release: 1%{?gitdate:.%{gitdate}git%{gitversion}}%{?dist}
|
||||
Summary: Input device library
|
||||
|
||||
@ -18,8 +18,6 @@ Source2: commitid
|
||||
Source0: http://www.freedesktop.org/software/libinput/libinput-%{version}.tar.xz
|
||||
%endif
|
||||
|
||||
Patch01: 0001-tablet-don-t-set-rotation-on-a-tool-if-we-don-t-have.patch
|
||||
|
||||
BuildRequires: git-core
|
||||
BuildRequires: gcc
|
||||
BuildRequires: meson
|
||||
@ -111,6 +109,9 @@ The %{name}-utils package contains tools to debug hardware and analyze
|
||||
%{_mandir}/man1/libinput-measure-trackpoint-range.1*
|
||||
|
||||
%changelog
|
||||
* Tue Feb 13 2018 Peter Hutterer <peter.hutterer@redhat.com> 1.10.0-1
|
||||
- libinput 1.10
|
||||
|
||||
* Tue Feb 06 2018 Peter Hutterer <peter.hutterer@redhat.com> 1.9.902-1
|
||||
- libinput 1.10rc2
|
||||
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (libinput-1.9.902.tar.xz) = b2309145c90b7d24bbc8894ea1fb8846d67900ce761273a6f3fa769c0e0bb0d1162363845e26ee535d5a4f438f09fa104c04c4db0ddf9efdd229fb786e32dd7e
|
||||
SHA512 (libinput-1.10.0.tar.xz) = 173f72f454c534dee755b6121c4577900ae9b8a129ac41de69410c3195950a6d149d6148892c4976f013eeabca66117d53fa67e352cc005960863a5576696928
|
||||
|
Loading…
Reference in New Issue
Block a user