import xorg-x11-drv-libinput-0.28.0-2.el8

This commit is contained in:
CentOS Sources 2019-05-07 08:01:33 -04:00 committed by Andrew Lukoshko
commit 07f7120f03
6 changed files with 428 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
SOURCES/xf86-input-libinput-0.28.0.tar.bz2

View File

@ -0,0 +1 @@
07f5559bcf0363d4ecaf0b2cecb88ee7d2b16fc6 SOURCES/xf86-input-libinput-0.28.0.tar.bz2

View File

@ -0,0 +1,98 @@
From 41d20d35c1587f3de35acf47f926c97a30680978 Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
Date: Thu, 18 May 2017 14:45:18 +1000
Subject: [PATCH xf86-input-libinput] Add a DPIScaleFactor option as temporary
solution to the hidpi issue
https://bugzilla.redhat.com/show_bug.cgi?id=1413306
---
man/libinput.man | 21 +++++++++++++++++++++
src/xf86libinput.c | 26 ++++++++++++++++++++++++++
2 files changed, 47 insertions(+)
diff --git a/man/libinput.man b/man/libinput.man
index ec0f439..bdbdb37 100644
--- a/man/libinput.man
+++ b/man/libinput.man
@@ -386,6 +386,27 @@ This driver does not work with \fBOption \*qDevice\*q\fR set to an event
node in \fI/dev/input/by-id\fR and \fI/dev/input/by-path\fR. This can be
usually be worked by using \fBSection \*qInputClass\*q\fR with an
appropriate \fBMatch*\fR statement in the __xconfigfile__(__filemansuffix__).
+.PP
+This driver does not know about the display pixel density and submits motion
+events assuming an approximate display density of 96dpi. On high-dpi
+screens this results in a slower physical motion of the cursor (a one-pixel
+movement is a smaller physical movement on the screen). This can make
+interaction with the desktop difficult.
+.PP
+.TP 7
+.BI "Option \*qDPIScaleFactor\*q float
+This is a
+.B temporary
+solution. The factor should be set to the approximate ratio of the host display
+compared to the default 96dpi. For example, a display with 200dpi should set
+a factor of 2.0.
+.PP
+If set, x/y motion will be unconditionally multiplied by this factor,
+resulting in faster movement of the cursor. Note that this may make some
+pixels unadressable and should be used with caution.
+.PP
+.B This option is a temporary solution.
+It may be removed in any future update of this driver.
.SH AUTHORS
Peter Hutterer
diff --git a/src/xf86libinput.c b/src/xf86libinput.c
index 83ab75d..c1a1ce2 100644
--- a/src/xf86libinput.c
+++ b/src/xf86libinput.c
@@ -194,6 +194,8 @@ struct xf86libinput {
struct scale_factor {
double x, y;
} area_scale_factor;
+
+ double dpi_scale_factor; /* Fedora hack */
};
enum event_handling {
@@ -1463,6 +1465,11 @@ xf86libinput_handle_motion(InputInfoPtr pInfo, struct libinput_event_pointer *ev
x = libinput_event_pointer_get_dx(event);
y = libinput_event_pointer_get_dy(event);
+ if (driver_data->dpi_scale_factor > 0.0) {
+ x *= driver_data->dpi_scale_factor;
+ y *= driver_data->dpi_scale_factor;
+ }
+
valuator_mask_zero(mask);
#if HAVE_VMASK_UNACCEL
@@ -3421,6 +3428,25 @@ xf86libinput_pre_init(InputDriverPtr drv,
xf86libinput_parse_options(pInfo, driver_data, device);
+ /* XXX:
+ Fedora hack for bug https://bugzilla.redhat.com/show_bug.cgi?id=1413306
+ This is temporary only, but at least makes it work for now.
+ */
+
+ if (xf86CheckRealOption(pInfo->options, "DPIScaleFactor", 0.0) != 0.0) {
+ xf86IDrvMsg(pInfo, X_WARNING,
+ "\n"
+ "******************** WARNING ********************\n"
+ "* DPIScaleFactor option is a temporary solution *\n"
+ "* and may cease to work without warning! *\n"
+ "******************** WARNING ********************\n");
+ driver_data->dpi_scale_factor = xf86SetRealOption(pInfo->options, "DPIScaleFactor", 0.0);
+ if (driver_data->dpi_scale_factor < 0.0) {
+ xf86IDrvMsg(pInfo, X_ERROR, "Invalid DPIScaleFactor, ignoring value\n");
+ driver_data->dpi_scale_factor = 0.0;
+ }
+ }
+
/* Device is both keyboard and pointer. Drop the keyboard cap from
* this device, create a separate device instead */
if (!is_subdevice &&
--
2.14.3

View File

@ -0,0 +1,32 @@
From a759610292a53067fc811e70703bffff8dc0cb16 Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
Date: Thu, 4 Oct 2018 11:45:46 +1000
Subject: [PATCH xf86-input-libinput] Use the seat slot, not the device slot
for touch events
The device slot is per-device, so if we have more than one device we may get a
touch down event for a slot already in use.
Fixes https://gitlab.freedesktop.org/libinput/libinput/issues/153
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
---
src/xf86libinput.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/xf86libinput.c b/src/xf86libinput.c
index 1277a70..a00b0a5 100644
--- a/src/xf86libinput.c
+++ b/src/xf86libinput.c
@@ -1705,7 +1705,7 @@ xf86libinput_handle_touch(InputInfoPtr pInfo,
if ((driver_data->capabilities & CAP_TOUCH) == 0)
return;
- slot = libinput_event_touch_get_slot(event);
+ slot = libinput_event_touch_get_seat_slot(event);
switch (event_type) {
case LIBINPUT_EVENT_TOUCH_DOWN:
--
2.19.1

View File

@ -0,0 +1,7 @@
# Assign libinput back to touchpads on Wacom tablets
Section "InputClass"
Identifier "libinput overrides wacom touchpads"
MatchDriver "wacom"
MatchIsTouchpad "true"
Driver "libinput"
EndSection

View File

@ -0,0 +1,289 @@
%global tarball xf86-input-libinput
%global moduledir %(pkg-config xorg-server --variable=moduledir )
%global driverdir %{moduledir}/input
#define gitdate 20160929
%global gitversion 66c997886
Summary: Xorg X11 libinput input driver
Name: xorg-x11-drv-libinput
Version: 0.28.0
Release: 2%{?gitdate:.%{gitdate}git%{gitversion}}%{?dist}
URL: http://www.x.org
License: MIT
%if 0%{?gitdate}
Source0: %{tarball}-%{gitdate}.tar.xz
%else
Source0: ftp://ftp.x.org/pub/individual/driver/%{tarball}-%{version}.tar.bz2
%endif
Source1: 71-libinput-overrides-wacom.conf
# Fedora-only hack for hidpi screens
# https://bugzilla.redhat.com/show_bug.cgi?id=1413306
Patch01: 0001-Add-a-DPIScaleFactor-option-as-temporary-solution-to.patch
# Bug 1639059 - Two touchscreens end up with a stuck button
Patch02: 0001-Use-the-seat-slot-not-the-device-slot-for-touch-even.patch
BuildRequires: autoconf automake libtool
BuildRequires: xorg-x11-server-devel >= 1.14.0
BuildRequires: libudev-devel libevdev-devel libinput-devel >= 0.6.0-3
BuildRequires: xorg-x11-util-macros
Requires: Xorg %(xserver-sdk-abi-requires ansic)
Requires: Xorg %(xserver-sdk-abi-requires xinput)
Requires: xkeyboard-config
Requires: libinput >= 0.21.0
Provides: xorg-x11-drv-synaptics = 1.9.0-3
Obsoletes: xorg-x11-drv-synaptics < 1.9.0-3
%description
A generic input driver for the X.Org X11 X server based on libinput,
supporting all devices.
%prep
%setup -q -n %{tarball}-%{?gitdate:%{gitdate}}%{!?gitdate:%{version}}
%patch01 -p1
%patch02 -p1
%build
autoreconf --force -v --install || exit 1
%configure --disable-static --disable-silent-rules
make %{?_smp_mflags}
%install
%make_install
# FIXME: Remove all libtool archives (*.la) from modules directory. This
# should be fixed in upstream Makefile.am or whatever.
find $RPM_BUILD_ROOT -regex ".*\.la$" | xargs rm -f --
cp %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/X11/xorg.conf.d/
%files
%doc COPYING
%{driverdir}/libinput_drv.so
%{_datadir}/X11/xorg.conf.d/40-libinput.conf
%{_datadir}/X11/xorg.conf.d/71-libinput-overrides-wacom.conf
%{_mandir}/man4/libinput.4*
%package devel
Summary: Xorg X11 libinput input driver development package.
Requires: pkgconfig
%description devel
Xorg X11 libinput input driver development files.
%files devel
%doc COPYING
%{_libdir}/pkgconfig/xorg-libinput.pc
%dir %{_includedir}/xorg/
%{_includedir}/xorg/libinput-properties.h
%changelog
* Mon Oct 15 2018 Peter Hutterer <peter.hutterer@redhat.com> 0.28.0-2
- Fix wrong slot to touch ID mapping (#1639059)
* Wed Jul 11 2018 Peter Hutterer <peter.hutterer@redhat.com> 0.28.0-1
- xf86-input-libinput 0.28.0
* Mon May 14 2018 Adam Jackson <ajax@redhat.com> - 0.27.1-2.1
- Rebuild for xserver 1.20
* Thu Apr 12 2018 Peter Hutterer <peter.hutterer@redhat.com> 0.27.1-2
- Build on s390x (#1565062)
* Tue Apr 10 2018 Peter Hutterer <peter.hutterer@redhat.com> 0.27.1-1
- xorg-x11-drv-libinput 0.27.1
* Mon Apr 02 2018 Adam Jackson <ajax@redhat.com> - 0.27.0-3
- Rebuild for xserver 1.20
* Thu Mar 22 2018 Peter Hutterer <peter.hutterer@redhat.com> 0.27.0-2
- Fix left-handed property missing on all but the first pointer device
* Tue Mar 20 2018 Peter Hutterer <peter.hutterer@redhat.com> 0.27.0-1
- xorg-x11-drv-libinput 0.27.0
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.26.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Fri Sep 15 2017 Peter Hutterer <peter.hutterer@redhat.com> 0.26.0-1
- xorg-x11-drv-libinput 0.26.0
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.25.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.25.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Thu May 18 2017 Peter Hutterer <peter.hutterer@redhat.com> 0.25.1-2
- Add a new option to provide a workaround for the slow pointer movement on
hidpi displays (#1413306) .
That's a fedora-only patch for now, no idea what the permanent upstream
solution will be here.
* Fri May 05 2017 Peter Hutterer <peter.hutterer@redhat.com> 0.25.1-1
- xorg-x11-drv-libinput 0.25.1
* Thu Mar 09 2017 Peter Hutterer <peter.hutterer@redhat.com> 0.25.0-1
- libinput 0.25.0
* Thu Feb 09 2017 Peter Hutterer <peter.hutterer@redhat.com> 0.24.0-1
- libinput 0.24.0
* Wed Dec 21 2016 Peter Hutterer <peter.hutterer@redhat.com> 0.23.0-2
- Ignore LED updates for disabled devices, avoids a null-pointer dereference
when an AccessX timeout is set
* Mon Dec 12 2016 Peter Hutterer <peter.hutterer@redhat.com> 0.23.0-1
- libnput 0.23.0
* Fri Nov 25 2016 Peter Hutterer <peter.hutterer@redhat.com> 0.22.0-4
- Override touchpads assigned the wacom driver with libinput again
(#1397477)
* Fri Nov 18 2016 Peter Hutterer <peter.hutterer@redhat.com> 0.22.0-3
- Provide xorg-x11-drv-synaptics. The actual content is now provided by
xorg-x11-drv-synaptics-legacy (#1394836). For details, see
https://fedoraproject.org/wiki/Changes/RetireSynapticsDriver
* Tue Nov 01 2016 Peter Hutterer <peter.hutterer@redhat.com> 0.22.0-2
- Match against tablets too
* Wed Oct 19 2016 Peter Hutterer <peter.hutterer@redhat.com> 0.22.0-1
- xf86-input-libinput 0.22.0
* Tue Oct 18 2016 Peter Hutterer <peter.hutterer@redhat.com> 0.20.0-1
- xf86-input-libinput 0.20.0
* Thu Sep 29 2016 Hans de Goede <hdegoede@redhat.com> 0.19.1-3.20160929
- Fix crash when the first detected input device gets removed (rhbz#1381840)
* Thu Sep 29 2016 Hans de Goede <hdegoede@redhat.com> 0.19.1-2.20160929
- Update to latest git master for use with xserver-1.19
- Rebuild against xserver-1.19
* Wed Sep 14 2016 Peter Hutterer <peter.hutterer@redhat.com> 0.19.1-1
- xf86-input-libinput 0.19.1
* Tue Jul 19 2016 Peter Hutterer <peter.hutterer@redhat.com> 0.19.0-2
- Bump to make F24 update path happy
* Thu Apr 28 2016 Peter Hutterer <peter.hutterer@redhat.com> 0.19.0-1
- xf86-input-libinput 0.19.0
* Fri Feb 26 2016 Peter Hutterer <peter.hutterer@redhat.com> 0.17.0-1
- xf86-input-libinput 0.17.0
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.16.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Wed Dec 23 2015 Peter Hutterer <peter.hutterer@redhat.com> 0.16.0-1
- xf86-input-libinput 0.16.0
* Tue Oct 27 2015 Peter Hutterer <peter.hutterer@redhat.com> 0.15.0-1
- xf86-input-libinput 0.15.0
* Wed Sep 16 2015 Dave Airlie <airlied@redhat.com> - 0.14.0-2
- 1.18 ABI rebuild
* Mon Aug 31 2015 Peter Hutterer <peter.hutterer@redhat.com> 0.14.0-1
- xf86-input-libinput 0.14.0
* Mon Aug 17 2015 Peter Hutterer <peter.hutterer@redhat.com> 0.13.0-2
- Add drag lock support (#1249309)
* Tue Aug 11 2015 Peter Hutterer <peter.hutterer@redhat.com> 0.13.0-1
- xf86-input-libinput 0.13.0
* Wed Jul 29 2015 Dave Airlie <airlied@redhat.com> 0.12.0-2
- bump for X server ABI
* Tue Jul 14 2015 Peter Hutterer <peter.hutterer@redhat.com> 0.12.0-1
- xf86-input-libinput 0.12.0
* Mon Jul 13 2015 Peter Hutterer <peter.hutterer@redhat.com> 0.11.0-3
- Restore unaccelerated valuator masks (#1208992)
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.11.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Mon Jun 15 2015 Peter Hutterer <peter.hutterer@redhat.com> 0.11.0-1
- xf86-input-libinput 0.11.0
- support buttons higher than BTN_BACK (1230945)
* Mon Jun 01 2015 Peter Hutterer <peter.hutterer@redhat.com> 0.10.0-5
- Fix missing scroll button property
* Fri May 29 2015 Nils Philippsen <nils@redhat.com> 0.10.0-4
- fix URL
* Tue May 26 2015 Peter Hutterer <peter.hutterer@redhat.com> 0.10.0-3
- Use the new unnaccelerated valuator masks, fixes nonmoving mouse in SDL
(#1208992)
* Fri May 22 2015 Peter Hutterer <peter.hutterer@redhat.com> 0.10.0-2
- Init mixed rel/abs devices as rel devices (#1223619)
* Thu May 21 2015 Peter Hutterer <peter.hutterer@redhat.com> 0.10.0-1
- xf86-input-libinput 0.10.0
* Thu Apr 23 2015 Peter Hutterer <peter.hutterer@redhat.com> 0.9.0-1
- xf86-input-libinput 0.9.0
* Tue Mar 10 2015 Peter Hutterer <peter.hutterer@redhat.com> - 0.8.0-2
- Rebuild for libinput soname bump
* Fri Mar 06 2015 Peter Hutterer <peter.hutterer@redhat.com> 0.8.0-1
- xf86-input-libinput 0.8.0
* Thu Mar 05 2015 Peter Hutterer <peter.hutterer@redhat.com> 0.7.0-5
- Fix two-finger scrolling speed (#1198467)
* Thu Feb 26 2015 Peter Hutterer <peter.hutterer@redhat.com> 0.7.0-4
- Fix property setting patch, first version prevented re-enabling a device.
* Wed Feb 25 2015 Peter Hutterer <peter.hutterer@redhat.com> 0.7.0-3
- Fix a crash when setting properties on a disabled device
* Wed Feb 25 2015 Peter Hutterer <peter.hutterer@redhat.com> 0.7.0-2
- Fix stack smash on pointer init (#1195905)
* Tue Feb 24 2015 Peter Hutterer <peter.hutterer@redhat.com> 0.7.0-1
- xorg-x11-drv-libinput 0.7.0
* Tue Jan 27 2015 Peter Hutterer <peter.hutterer@redhat.com> 0.6.0-1
- xorg-x11-drv-libinput 0.6.0
* Fri Jan 16 2015 Peter Hutterer <peter.hutterer@redhat.com> 0.5.0-1
- xorg-x11-drv-libinput 0.5.0
* Fri Dec 05 2014 Peter Hutterer <peter.hutterer@redhat.com> 0.4.0-1
- xorg-x11-drv-libinput 0.4.0
* Mon Nov 24 2014 Peter Hutterer <peter.hutterer@redhat.com> 0.3.0-1
- xorg-x11-drv-libinput 0.3.0
* Mon Nov 24 2014 Peter Hutterer <peter.hutterer@redhat.com> 0.2.0-2
- Add explicit (Build)Requires for libinput 0.6.0-3, we rely on new symbols
from the git snapshot
* Mon Nov 24 2014 Peter Hutterer <peter.hutterer@redhat.com> 0.2.0-1
- Only match on specific device types, don't match on joysticks or tablets
- libinput 0.2.0
- switch to new fdo host
* Fri Sep 12 2014 Peter Hutterer <peter.hutterer@redhat.com> - 0.1.2-3
- Rebuild for libinput soname bump
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Thu Jul 24 2014 Peter Hutterer <peter.hutterer@redhat.com> 0.1.2-1
- Update to 0.1.2, dropping the pkgconfig files
* Thu Jun 26 2014 Peter Hutterer <peter.hutterer@redhat.com> 0.1.1-1
- Initial release (#1113392)