diff --git a/.gitignore b/.gitignore index 92630c5..926247e 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ xf86-input-evdev-20100823.tar.bz2 /xf86-input-evdev-20111109.tar.bz2 /xf86-input-evdev-20111110.tar.bz2 /xf86-input-evdev-20120103.tar.bz2 +/xf86-input-evdev-20120118.tar.bz2 diff --git a/0001-Fix-axis-labelling-for-mixed-devices.patch b/0001-Fix-axis-labelling-for-mixed-devices.patch deleted file mode 100644 index 19a88f8..0000000 --- a/0001-Fix-axis-labelling-for-mixed-devices.patch +++ /dev/null @@ -1,70 +0,0 @@ -From be53e80fafbc1474f07737fa5817275ad79d9323 Mon Sep 17 00:00:00 2001 -From: Peter Hutterer -Date: Thu, 12 Jan 2012 11:01:22 +1000 -Subject: [PATCH] Fix axis labelling for mixed devices. - -If a device has both relative and absolute axes, we'd initialise the -relative axes but label them with the absolute labels. -Fix this by properly unsetting the flags before we initialise the axes and -then restoring them on failure. - -Signed-off-by: Peter Hutterer ---- - src/evdev.c | 15 ++++++++++++--- - 1 files changed, 12 insertions(+), 3 deletions(-) - -diff --git a/src/evdev.c b/src/evdev.c -index 989a255..86a9e55 100644 ---- a/src/evdev.c -+++ b/src/evdev.c -@@ -1628,12 +1628,18 @@ static void - EvdevInitAbsValuators(DeviceIntPtr device, EvdevPtr pEvdev) - { - InputInfoPtr pInfo = device->public.devicePrivate; -+ int has_rel_axes = pEvdev->flags & EVDEV_RELATIVE_EVENTS; -+ -+ pEvdev->flags &= ~EVDEV_RELATIVE_EVENTS; - - if (EvdevAddAbsValuatorClass(device) == Success) { - xf86IDrvMsg(pInfo, X_INFO,"initialized for absolute axes.\n"); - } else { - xf86IDrvMsg(pInfo, X_ERROR,"failed to initialize for absolute axes.\n"); - pEvdev->flags &= ~EVDEV_ABSOLUTE_EVENTS; -+ -+ if (has_rel_axes) -+ pEvdev->flags |= EVDEV_RELATIVE_EVENTS; - } - } - -@@ -1643,14 +1649,14 @@ EvdevInitRelValuators(DeviceIntPtr device, EvdevPtr pEvdev) - InputInfoPtr pInfo = device->public.devicePrivate; - int has_abs_axes = pEvdev->flags & EVDEV_ABSOLUTE_EVENTS; - -+ pEvdev->flags &= ~EVDEV_ABSOLUTE_EVENTS; -+ - if (EvdevAddRelValuatorClass(device) == Success) { - - xf86IDrvMsg(pInfo, X_INFO,"initialized for relative axes.\n"); - -- if (has_abs_axes) { -+ if (has_abs_axes) - xf86IDrvMsg(pInfo, X_WARNING,"ignoring absolute axes.\n"); -- pEvdev->flags &= ~EVDEV_ABSOLUTE_EVENTS; -- } - - } else { - xf86IDrvMsg(pInfo, X_ERROR,"failed to initialize for relative axes.\n"); -@@ -1658,7 +1664,10 @@ EvdevInitRelValuators(DeviceIntPtr device, EvdevPtr pEvdev) - pEvdev->flags &= ~EVDEV_RELATIVE_EVENTS; - - if (has_abs_axes) -+ { -+ pEvdev->flags |= EVDEV_ABSOLUTE_EVENTS; - EvdevInitAbsValuators(device, pEvdev); -+ } - } - } - --- -1.7.7.5 - diff --git a/0001-Force-REL_X-REL_Y-to-exist-on-devices-with-any-relat.patch b/0001-Force-REL_X-REL_Y-to-exist-on-devices-with-any-relat.patch deleted file mode 100644 index 3562157..0000000 --- a/0001-Force-REL_X-REL_Y-to-exist-on-devices-with-any-relat.patch +++ /dev/null @@ -1,48 +0,0 @@ -From dd3a14f13c21277e81c1e9c9c309a4e5b6924351 Mon Sep 17 00:00:00 2001 -From: Peter Hutterer -Date: Thu, 12 Jan 2012 11:03:30 +1000 -Subject: [PATCH] Force REL_X/REL_Y to exist on devices with any relative axes - (#44655) - -Too much in the server relies on x/y to exist and to be axes 0 and 1. Since -smooth scrolling we initialise wheels as axes too, so if any relative axes -exist, initialize REL_X/Y as well. - -For servers up to 1.11: a scrollwheel-only device now has relative axes -where it only had buttons before. - -For servers 1.12 or later: the device now has x/y in addition to the scroll -axes. - -X.Org Bug 44655 - -Signed-off-by: Peter Hutterer ---- - src/evdev.c | 11 +++++++++++ - 1 files changed, 11 insertions(+), 0 deletions(-) - -diff --git a/src/evdev.c b/src/evdev.c -index 86a9e55..77609fb 100644 ---- a/src/evdev.c -+++ b/src/evdev.c -@@ -2052,6 +2052,17 @@ EvdevProbe(InputInfoPtr pInfo) - pEvdev->num_buttons = num_buttons; - } - -+ /* Some devices only have other rel axes (e.g. wheels), but we -+ * still need x/y for these. The server relies on devices having -+ * x/y as axes 0/1 and core/XI 1.x clients expect it too (#44655) */ -+ if (!EvdevBitIsSet(pEvdev->rel_bitmask, REL_X) || -+ !EvdevBitIsSet(pEvdev->rel_bitmask, REL_Y)) -+ { -+ xf86IDrvMsg(pInfo, X_INFO, "Forcing x/y axes to exist.\n"); -+ EvdevSetBit(pEvdev->rel_bitmask, REL_X); -+ EvdevSetBit(pEvdev->rel_bitmask, REL_Y); -+ } -+ - if (!ignore_rel) - { - xf86IDrvMsg(pInfo, X_PROBED, "Found relative axes\n"); --- -1.7.7.5 - diff --git a/commitid b/commitid index a6a1a39..6e4b008 100644 --- a/commitid +++ b/commitid @@ -1 +1 @@ -965338e9d0ee5e2a6135a930347e9dab4b8db0dd +9d9c9870c88f2c636799a68cde8efcab59a4a2a5 diff --git a/sources b/sources index fd2174c..f95135a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -979e8af8bb2dc5c398ff1aa324020cc4 xf86-input-evdev-20120103.tar.bz2 +5db9c9258a2085c5216ff570a2e6c826 xf86-input-evdev-20120118.tar.bz2 diff --git a/xorg-x11-drv-evdev.spec b/xorg-x11-drv-evdev.spec index 2a13386..b649aa4 100644 --- a/xorg-x11-drv-evdev.spec +++ b/xorg-x11-drv-evdev.spec @@ -2,13 +2,13 @@ %global moduledir %(pkg-config xorg-server --variable=moduledir ) %global driverdir %{moduledir}/input -%global gitdate 20120103 -%global gitversion 965338e9d +%global gitdate 20120118 +%global gitversion 9d9c9870c Summary: Xorg X11 evdev input driver Name: xorg-x11-drv-evdev Version: 2.6.99.901 -Release: 4%{?gitdate:.%{gitdate}git%{gitversion}}%{dist} +Release: 5%{?gitdate:.%{gitdate}git%{gitversion}}%{dist} URL: http://www.x.org License: MIT Group: User Interface/X Hardware Support @@ -21,9 +21,6 @@ Source2: commitid Source0: ftp://ftp.x.org/pub/individual/driver/%{tarball}-%{version}.tar.bz2 %endif -Patch01: 0001-Fix-axis-labelling-for-mixed-devices.patch -Patch02: 0001-Force-REL_X-REL_Y-to-exist-on-devices-with-any-relat.patch - ExcludeArch: s390 s390x BuildRequires: autoconf automake libtool @@ -42,9 +39,6 @@ X.Org X11 evdev input driver. %prep %setup -q -n %{tarball}-%{?gitdate:%{gitdate}}%{!?gitdate:%{version}} -%patch01 -p1 -%patch02 -p1 - %build autoreconf -v --install || exit 1 %configure --disable-static --disable-silent-rules @@ -85,6 +79,9 @@ X.Org X11 evdev input driver development files. %changelog +* Wed Jan 18 2012 Peter Hutterer 2.6.99.901-5.20120118git9d9c9870c +- Update to new git snapshot, includes the two patches now + * Thu Jan 12 2012 Peter Hutterer 2.6.99.901-4.20120103git965338e9d - Fix axis labelling and single-axis relative devices