[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xserver-xorg-input-evdev: Changes to 'debian-unstable'



 ChangeLog             |  577 ++++++++++++++++++++++++++++++++++++
 autogen.sh            |    4 
 configure.ac          |    3 
 debian/changelog      |   40 ++
 debian/control        |   26 +
 debian/patches/series |    1 
 debian/rules          |    4 
 man/evdev.man         |    6 
 src/Makefile.am       |    5 
 src/axis_labels.h     |  198 ++++++++++++
 src/emuMB.c           |    4 
 src/emuWheel.c        |    8 
 src/evdev.c           |  782 +++++++++++++++++++++++++-------------------------
 src/evdev.h           |   15 
 14 files changed, 1273 insertions(+), 400 deletions(-)

New commits:
commit 05c83cce3427845fd67652729a423513af3f93c0
Author: Michele Cane <michele.cane@gmail.com>
Date:   Wed Jul 17 14:57:58 2013 +0200

    Build against Xserver 1.14

diff --git a/debian/changelog b/debian/changelog
index 313e1fe..ea89d65 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -6,6 +6,7 @@ xserver-xorg-input-evdev (1:2.8.1-1) UNRELEASED; urgency=low
   [ Michele Cane ]
   * New upstream release.
   * Bump Standards-Version to 3.9.4, no changes needed.
+  * Build against Xserver 1.14
 
  -- Michele Cane <michele.cane@gmail.com>  Sun, 14 Jul 2013 20:29:16 +0200
 
diff --git a/debian/control b/debian/control
index 719859d..ccf5783 100644
--- a/debian/control
+++ b/debian/control
@@ -8,7 +8,7 @@ Build-Depends:
  dh-autoreconf,
  pkg-config,
  quilt,
- xserver-xorg-dev (>= 2:1.11.99.901),
+ xserver-xorg-dev (>= 2:1.14),
  x11proto-core-dev,
  x11proto-randr-dev,
  x11proto-input-dev (>= 2.1.99.3),

commit 2c93d3468ac7110c465d46c2fce6f0e86b9377fd
Author: Michele Cane <michele.cane@gmail.com>
Date:   Wed Jul 17 09:38:11 2013 +0200

    Bump Standards-Version to 3.9.4, no changes needed.

diff --git a/debian/changelog b/debian/changelog
index 11ebfc5..313e1fe 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,7 @@ xserver-xorg-input-evdev (1:2.8.1-1) UNRELEASED; urgency=low
 
   [ Michele Cane ]
   * New upstream release.
+  * Bump Standards-Version to 3.9.4, no changes needed.
 
  -- Michele Cane <michele.cane@gmail.com>  Sun, 14 Jul 2013 20:29:16 +0200
 
diff --git a/debian/control b/debian/control
index 19708eb..719859d 100644
--- a/debian/control
+++ b/debian/control
@@ -17,7 +17,7 @@ Build-Depends:
  xutils-dev (>= 1:7.5+4),
  libudev-dev,
  libmtdev-dev,
-Standards-Version: 3.9.3
+Standards-Version: 3.9.4
 Vcs-Git: git://git.debian.org/git/pkg-xorg/driver/xserver-xorg-input-evdev
 Vcs-Browser: http://git.debian.org/?p=pkg-xorg/driver/xserver-xorg-input-evdev.git
 

commit f73761006b15cf6016880517d6f064d223913217
Author: Michele Cane <michele.cane@gmail.com>
Date:   Sun Jul 14 20:30:16 2013 +0200

    Bump changelogs.

diff --git a/ChangeLog b/ChangeLog
index 89834ba..7366b9a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,97 @@
+commit 8a9b1ec6b58a36910a03f3e8b1f9bc8d91f87204
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Thu Jul 11 11:09:24 2013 +1000
+
+    evdev 2.8.1
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 356565111a6bb98f15fbaaf4f527aed8c87b477b
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Thu Jun 27 05:47:38 2013 +1000
+
+    Don't allow a wheel emulation inertia of 0 (#66125)
+    
+    Inertia of 0 results in an infinite loop of events being sent to the server.
+    
+    X.Org Bug 66125 <http://bugs.freedesktop.org/show_bug.cgi?id=66125>
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit fff3a60fbf5c81b337ae4eaf160feacdfc8c2465
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Wed May 29 13:26:57 2013 +1000
+
+    Use EvdevBitIsSet, not the server's BitIsOn
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 8f209ac60d10ba61aa6ea2bec02dbfa54ebe8f17
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Wed May 29 07:18:19 2013 +1000
+
+    Drop cached name and led_bitmask - nothing reads this
+    
+    Both fields are write-only as of xf86-input-evdev-2.5.99.902-1-g1ced7ec
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit a0d41af8969b91ec51ebdfb966ccc47e5c40329a
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Mon May 27 10:19:15 2013 +1000
+
+    Switch default model to pc104.
+    
+    As of xkeyboard-config 1.9, the evdev model is hidden (c887d2876)
+    The server switched to pc105 with version 1.8 (1df4bd601).
+    
+    The evdev model resolves to pc104 anyway, so this commit has no real effect
+    other than to switch from a catch-all rule to explicit.
+    Use pc104 so this is easy to find for those investigating the code and
+    wondering why. pc104 is the 'correct' geometry for the us layout, which is
+    the default after all. Switching to pc105 would show keys missing if no
+    model is set (e.g. on uk/de layouts) but it would be the wrong layout for
+    the default.
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Acked-by: Daniel Stone <daniel@fooishbar.org>
+
+commit dea1d1a3906b98b491e9760b3304f881c6afec5e
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Mon Apr 29 11:48:12 2013 +1000
+
+    Fail to set up axes for devices that only have MT axes but no ABS_X/Y equivalents (#64029)
+    
+    The kernel should give us ABS_X/Y for backwards compat but some devices
+    don't. For now, ignore these devices as evdev is not suited to handle this
+    yet and will crash if a device is set up without axes (i.e.
+    pEvdev->vals == NULL) and later receives an event from an MT axis.
+    
+    X.Org Bug 64029 <http://bugs.freedesktop.org/show_bug.cgi?id=64029>
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
+
+commit b59a1a25dad4437e013ce8d3d65d4591c6f4ee4a
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Tue Apr 2 14:12:26 2013 +1000
+
+    Add option TypeName (#62831)
+    
+    evdev tries to assign the right XI 1.x type-name based on various device
+    capabilities. In some cases, that fails. e.g. the Mionix Naos 5000 mouse
+    looks like a keyboard. And we assign a keyboard type in that case since
+    there are plenty of keyboards that also advertise some axes or others.
+    
+    Add a new option TypeName to allow for system-wide configuration of such
+    devices in a quirks file.
+    
+    This can also be used to address #55867
+    
+    X.Org Bug 62831 <http://bugs.freedesktop.org/show_bug.cgi?id=62831>
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
 commit 5138cd2ff47a1a28db82688b932cb1ecd618778f
 Author: Peter Hutterer <peter.hutterer@who-t.net>
 Date:   Tue Mar 26 16:01:39 2013 +1000
diff --git a/debian/changelog b/debian/changelog
index ff49269..11ebfc5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,12 @@
-xserver-xorg-input-evdev (1:2.8.0-1) UNRELEASED; urgency=low
+xserver-xorg-input-evdev (1:2.8.1-1) UNRELEASED; urgency=low
 
+  [ Maarten Lankhorst ]
+  * New upstream release.
+
+  [ Michele Cane ]
   * New upstream release.
 
- -- Maarten Lankhorst <maarten.lankhorst@canonical.com>  Fri, 10 Aug 2012 19:08:53 +0200
+ -- Michele Cane <michele.cane@gmail.com>  Sun, 14 Jul 2013 20:29:16 +0200
 
 xserver-xorg-input-evdev (1:2.7.1-1) experimental; urgency=low
 

commit 8a9b1ec6b58a36910a03f3e8b1f9bc8d91f87204
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jul 11 11:09:24 2013 +1000

    evdev 2.8.1
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

diff --git a/configure.ac b/configure.ac
index 41d1017..b8a9c41 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@
 # Initialize Autoconf
 AC_PREREQ([2.60])
 AC_INIT([xf86-input-evdev],
-        [2.8.0],
+        [2.8.1],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         [xf86-input-evdev])
 AC_CONFIG_SRCDIR([Makefile.am])

commit 356565111a6bb98f15fbaaf4f527aed8c87b477b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jun 27 05:47:38 2013 +1000

    Don't allow a wheel emulation inertia of 0 (#66125)
    
    Inertia of 0 results in an infinite loop of events being sent to the server.
    
    X.Org Bug 66125 <http://bugs.freedesktop.org/show_bug.cgi?id=66125>
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

diff --git a/src/emuWheel.c b/src/emuWheel.c
index 5774930..81b777f 100644
--- a/src/emuWheel.c
+++ b/src/emuWheel.c
@@ -392,7 +392,7 @@ EvdevWheelEmuSetProperty(DeviceIntPtr dev, Atom atom, XIPropertyValuePtr val,
 
         inertia = *((CARD16*)val->data);
 
-        if (inertia < 0)
+        if (inertia <= 0)
             return BadValue;
 
         if (!checkonly)

commit fff3a60fbf5c81b337ae4eaf160feacdfc8c2465
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed May 29 13:26:57 2013 +1000

    Use EvdevBitIsSet, not the server's BitIsOn
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

diff --git a/src/evdev.c b/src/evdev.c
index 34cd3a1..ba2a98c 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -1267,7 +1267,7 @@ EvdevAddAbsValuatorClass(DeviceIntPtr device, int want_scroll_axes)
             for (j = 0; j < ArrayLength(mt_axis_mappings); j++)
             {
                 if (mt_axis_mappings[j].mt_code == axis &&
-                    BitIsOn(pEvdev->abs_bitmask, mt_axis_mappings[j].code))
+                    EvdevBitIsSet(pEvdev->abs_bitmask, mt_axis_mappings[j].code))
                 {
                     mt_axis_mappings[j].needs_mapping = TRUE;
                     skip = TRUE;

commit 8f209ac60d10ba61aa6ea2bec02dbfa54ebe8f17
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed May 29 07:18:19 2013 +1000

    Drop cached name and led_bitmask - nothing reads this
    
    Both fields are write-only as of xf86-input-evdev-2.5.99.902-1-g1ced7ec
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

diff --git a/src/evdev.c b/src/evdev.c
index 86af151..34cd3a1 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -1983,12 +1983,10 @@ EvdevCache(InputInfoPtr pInfo)
     int i, len;
     struct input_id id;
 
-    char name[1024]                  = {0};
     unsigned long bitmask[NLONGS(EV_CNT)]      = {0};
     unsigned long key_bitmask[NLONGS(KEY_CNT)] = {0};
     unsigned long rel_bitmask[NLONGS(REL_CNT)] = {0};
     unsigned long abs_bitmask[NLONGS(ABS_CNT)] = {0};
-    unsigned long led_bitmask[NLONGS(LED_CNT)] = {0};
 
 
     if (ioctl(pInfo->fd, EVIOCGID, &id) < 0)
@@ -2000,13 +1998,6 @@ EvdevCache(InputInfoPtr pInfo)
     pEvdev->id_vendor = id.vendor;
     pEvdev->id_product = id.product;
 
-    if (ioctl(pInfo->fd, EVIOCGNAME(sizeof(name) - 1), name) < 0) {
-        xf86IDrvMsg(pInfo, X_ERROR, "ioctl EVIOCGNAME failed: %s\n", strerror(errno));
-        goto error;
-    }
-
-    strcpy(pEvdev->name, name);
-
     len = ioctl(pInfo->fd, EVIOCGBIT(0, sizeof(bitmask)), bitmask);
     if (len < 0) {
         xf86IDrvMsg(pInfo, X_ERROR, "ioctl EVIOCGBIT for bitmask failed: %s\n",
@@ -2034,15 +2025,6 @@ EvdevCache(InputInfoPtr pInfo)
 
     memcpy(pEvdev->abs_bitmask, abs_bitmask, len);
 
-    len = ioctl(pInfo->fd, EVIOCGBIT(EV_LED, sizeof(led_bitmask)), led_bitmask);
-    if (len < 0) {
-        xf86IDrvMsg(pInfo, X_ERROR, "ioctl EVIOCGBIT for EV_LED failed: %s\n",
-                    strerror(errno));
-        goto error;
-    }
-
-    memcpy(pEvdev->led_bitmask, led_bitmask, len);
-
     /*
      * Do not try to validate absinfo data since it is not expected
      * to be static, always refresh it in evdev structure.
diff --git a/src/evdev.h b/src/evdev.h
index 6ae389c..4742b43 100644
--- a/src/evdev.h
+++ b/src/evdev.h
@@ -235,12 +235,10 @@ typedef struct {
     OsTimerPtr reopen_timer;
 
     /* Cached info from device. */
-    char name[1024];
     unsigned long bitmask[NLONGS(EV_CNT)];
     unsigned long key_bitmask[NLONGS(KEY_CNT)];
     unsigned long rel_bitmask[NLONGS(REL_CNT)];
     unsigned long abs_bitmask[NLONGS(ABS_CNT)];
-    unsigned long led_bitmask[NLONGS(LED_CNT)];
     struct input_absinfo absinfo[ABS_CNT];
 
     /* minor/major number */

commit a0d41af8969b91ec51ebdfb966ccc47e5c40329a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon May 27 10:19:15 2013 +1000

    Switch default model to pc104.
    
    As of xkeyboard-config 1.9, the evdev model is hidden (c887d2876)
    The server switched to pc105 with version 1.8 (1df4bd601).
    
    The evdev model resolves to pc104 anyway, so this commit has no real effect
    other than to switch from a catch-all rule to explicit.
    Use pc104 so this is easy to find for those investigating the code and
    wondering why. pc104 is the 'correct' geometry for the us layout, which is
    the default after all. Switching to pc105 would show keys missing if no
    model is set (e.g. on uk/de layouts) but it would be the wrong layout for
    the default.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Daniel Stone <daniel@fooishbar.org>

diff --git a/src/evdev.c b/src/evdev.c
index aec1447..86af151 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -96,7 +96,7 @@
 
 static const char *evdevDefaults[] = {
     "XkbRules",     "evdev",
-    "XkbModel",     "evdev",
+    "XkbModel",     "pc104", /* the right model for 'us' */
     "XkbLayout",    "us",
     NULL
 };

commit dea1d1a3906b98b491e9760b3304f881c6afec5e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Apr 29 11:48:12 2013 +1000

    Fail to set up axes for devices that only have MT axes but no ABS_X/Y equivalents (#64029)
    
    The kernel should give us ABS_X/Y for backwards compat but some devices
    don't. For now, ignore these devices as evdev is not suited to handle this
    yet and will crash if a device is set up without axes (i.e.
    pEvdev->vals == NULL) and later receives an event from an MT axis.
    
    X.Org Bug 64029 <http://bugs.freedesktop.org/show_bug.cgi?id=64029>
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>

diff --git a/src/evdev.c b/src/evdev.c
index 94f5499..aec1447 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -1283,6 +1283,15 @@ EvdevAddAbsValuatorClass(DeviceIntPtr device, int want_scroll_axes)
             num_axes--;
         }
     }
+
+    /* device only has mt-axes. the kernel should give us ABS_X etc for
+       backwards compat but some devices don't have it. */
+    if (num_axes == 0 && num_mt_axes > 0) {
+        xf86IDrvMsg(pInfo, X_ERROR,
+                    "found only multitouch-axes. That shouldn't happen.\n");
+        goto out;
+    }
+
 #endif
 
 #ifdef HAVE_SMOOTH_SCROLLING

commit b59a1a25dad4437e013ce8d3d65d4591c6f4ee4a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Apr 2 14:12:26 2013 +1000

    Add option TypeName (#62831)
    
    evdev tries to assign the right XI 1.x type-name based on various device
    capabilities. In some cases, that fails. e.g. the Mionix Naos 5000 mouse
    looks like a keyboard. And we assign a keyboard type in that case since
    there are plenty of keyboards that also advertise some axes or others.
    
    Add a new option TypeName to allow for system-wide configuration of such
    devices in a quirks file.
    
    This can also be used to address #55867
    
    X.Org Bug 62831 <http://bugs.freedesktop.org/show_bug.cgi?id=62831>
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

diff --git a/man/evdev.man b/man/evdev.man
index 2709d7a..220dd13 100644
--- a/man/evdev.man
+++ b/man/evdev.man
@@ -220,6 +220,12 @@ is mapped to the negative Y axis motion and button number
 .I N2
 is mapped to the positive Y axis motion.  Default: "4 5". Property:
 "Evdev Wheel Emulation Axes".
+.TP 7
+.BI "Option \*qTypeName\*q \*q"type"\*q
+Specify the X Input 1.x type (see XListInputDevices(__libmansuffix__)).
+There is rarely a need to use this option, evdev will guess the device type
+based on the device's capabilities. This option is provided for devices that
+need quirks.
 
 .SH SUPPORTED PROPERTIES
 The following properties are provided by the
diff --git a/src/evdev.c b/src/evdev.c
index 052e9f0..94f5499 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -2548,6 +2548,9 @@ EvdevUnInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags)
         /* Release string allocated in EvdevOpenDevice. */
         free(pEvdev->device);
         pEvdev->device = NULL;
+
+        free(pEvdev->type_name);
+        pEvdev->type_name = NULL;
     }
     xf86DeleteInput(pInfo, flags);
 }
@@ -2579,6 +2582,8 @@ EvdevAlloc(void)
     pEvdev->rel_axis_map[0] = 0;
     pEvdev->rel_axis_map[1] = 1;
 
+    pEvdev->type_name = NULL;
+
     return pEvdev;
 }
 
@@ -2623,6 +2628,14 @@ EvdevPreInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags)
         goto error;
     }
 
+    /* Overwrite type_name with custom-defined one (#62831).
+       Note: pInfo->type_name isn't freed so we need to manually do this
+     */
+    pEvdev->type_name = xf86SetStrOption(pInfo->options,
+                                         "TypeName",
+                                         pInfo->type_name);
+    pInfo->type_name = pEvdev->type_name;
+
     EvdevAddDevice(pInfo);
 
     if (pEvdev->flags & EVDEV_BUTTON_EVENTS)
diff --git a/src/evdev.h b/src/evdev.h
index 63c3bfa..6ae389c 100644
--- a/src/evdev.h
+++ b/src/evdev.h
@@ -251,6 +251,8 @@ typedef struct {
     EventQueueRec           queue[EVDEV_MAXQUEUE];
 
     enum fkeymode           fkeymode;
+
+    char *type_name;
 } EvdevRec, *EvdevPtr;
 
 /* Event posting functions */

commit fa931895b62b07b3fec008079fd7028ef9a952ef
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date:   Wed Apr 10 09:29:22 2013 +0300

    update the changelogs

diff --git a/ChangeLog b/ChangeLog
index a4aa1cc..89834ba 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,12 +1,246 @@
-commit 777cfa148f8b5febaab1330e8df791f2188c046b
+commit 5138cd2ff47a1a28db82688b932cb1ecd618778f
 Author: Peter Hutterer <peter.hutterer@who-t.net>
-Date:   Mon Aug 13 16:22:00 2012 +1000
+Date:   Tue Mar 26 16:01:39 2013 +1000
 
-    evdev 2.7.3
+    evdev 2.8.0
     
     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 
-commit 447fd220e05752ec9ab388cc78826c297e1b7e24
+commit c085c8b6c1f8e95f6f4d91bc65268fe57154018c
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Tue Feb 12 12:58:08 2013 +1000
+
+    Return BadValue if EvdevOpenMTDev fails
+    
+    FALSE == Success, so if we fail during EvdevOpenMTDev, the caller thinks
+    that everything worked fine, proceeds to set up the fd, etc.
+    
+    This may later cause a crash, when a device comes back later as different
+    device and posts axis events where we didn't configure axes in the first
+    place.
+    
+    Note: Unclear why there was no udev event received for the device being
+    removed and coming back as different device though.
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 2b675f85aef6df3bb3fb5e68648982e11b752764
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Tue Feb 12 12:48:38 2013 +1000
+
+    Make errors on EVIOCGBIT more obvious
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 2b8b0df62ec554952784f2820fb4143c495232b0
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Thu Jan 24 16:18:48 2013 +1000
+
+    Always init axis mapping for the first two rel axes (#59784)
+    
+    Fixes regression introduced in 2f67509b53b27dd7f51ca2aadd19605aee613a61.
+    
+    If evdev is used for touchpads, the abs axis movement is converted to a rel
+    movement. Without the two relative axes initialized, the events are
+    discarded.
+    
+    Axes 0 and 1 are always x/y anyway unless specifically configured otherwise.
+    
+    X.Org Bug 59784 <http://bugs.freedesktop.org/show_bug.cgi?id=59784>
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit bb9b4146cb828bd366675e8736fc145e92c9269a
+Merge: f5fe533 67e5376
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Fri Jan 25 11:12:05 2013 +1000
+
+    Merge branch 'touch-axis-swap'
+
+commit f5fe533f1bef0c636b98658aaf40748c219c9879
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Tue Mar 27 12:18:46 2012 +1000
+
+    Allow relative scroll valuators on absolute devices (#54387)
+    
+    Special-case RHEL_WHEEL, RHEL_HWHEEL and REL_DIAL to add scroll valuators
+    for those axes in addition to the absolute axes.
+    
+    X.Org Bug 54387 <http://bugs.freedesktop.org/show_bug.cgi?id=54387>
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 2f67509b53b27dd7f51ca2aadd19605aee613a61
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Wed Jan 16 08:38:52 2013 +1000
+
+    Split rel and abs axis mapping into two separate arrays
+    
+    This will enable a device to have relative scrolling axes in addition to
+    absolute axes (required by the QEMU tablet).
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit ffc0a34642d5ab573c2ae63c873a5befd8688493
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Tue Jan 15 16:15:47 2013 +1000
+
+    Move some stuff into the new alloc function
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 93de7b0b73d4c5f6f68e3a2ffe8f76b5212ee016
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Tue Jan 15 16:11:16 2013 +1000
+
+    Move allocation of EvdevRec into a helper function
+    
+    Makes it easier to initialise everything to the right values.
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 9ec9d214d072ef4aaffb65b5575eff58edcb62ed
+Author: Colin Walters <walters@verbum.org>
+Date:   Wed Jan 4 17:37:06 2012 -0500
+
+    autogen.sh: Implement GNOME Build API
+    
+    http://people.gnome.org/~walters/docs/build-api.txt
+    
+    Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+commit 94e6df8f5f6048b8d0c7aa34efe1c0dc70b997d1
+Author: Adam Jackson <ajax@redhat.com>
+Date:   Wed Jan 16 13:11:11 2013 -0500
+
+    configure: Drop AM_MAINTAINER_MODE
+    
+    Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+commit 67e5376aaa62a1586fee37d610b3ad7e3b8bbcab
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Mon Jan 14 14:45:58 2013 +1000
+
+    Handle axis swap, calibration, and inversion for touch events (#59340)
+    
+    X.Org Bug 59340 <http://bugs.freedesktop.org/show_bug.cgi?id=59340>
+    
+    Reported-by: Bastien Nocera <hadess@hadess.net>
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 2432626b70b7f55a337bcfdc9ba415811634c062
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Mon Jan 14 14:10:14 2013 +1000
+
+    Move calibration adjustments to helper function
+    
+    No functional changes.
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 069c035ab0787e6841159929199ae58502d89c4b
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Mon Jan 14 14:07:26 2013 +1000
+
+    Move valuator swapping into a helper function
+    
+    No functional changes.
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 3b7ba39fcaf261f800205fd6cf45fea9998529e5
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Mon Jan 14 14:03:54 2013 +1000
+
+    Localise tmp variable
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 454194f4b530af5d7f92a3b28c28495b4faac547
+Author: Mauro Carvalho Chehab <mchehab@redhat.com>
+Date:   Tue Jan 8 15:04:07 2013 +1000
+
+    Force a button if MT axes are present and it is not a gamepad
+    
+    We expect at least BTN_TOUCH for anything with MT axes, but devices that
+    don't have that need a button class regardless. Some gamepads define
+    MT axes but no buttons, causing a bug in the server when they post a
+    TouchBegin.
+    
+    [ 97436.293] (EE) BUG: triggered 'if (!b || !v)'
+    [ 97436.293] (EE) BUG: exevents.c:929 in UpdateDeviceState()
+    
+    So, ignore it, if it is a joystick (e. g. if it have BTN_JOYSTICK defined).
+    Otherwise, fake a button.
+    
+    This patch basically merges two patches written by Peter Hutterer
+    <peter.hutterer@who-t.net>.
+    
+    Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 00341e632c89e14a83a55e3578b8bb2684ce4ae2
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Mon Jan 7 10:20:52 2013 +1000
+
+    Drop special XKB option handling
+    
+    This isn't actually needed at all.
+    
+    xf86nameCompare() will skip over underscores and is case-independent. So
+    xf86SetStrOption("foo_bar") will return an Option "FooBar" and vice versa.
+    
+    The server won't return a zero-length string either, it'll return
+    NULL and spit a warning to the log.
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit f2d2b65343a902c5eedaf50b6f6bcb5ba1ef9c4a
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Mon Jan 7 09:14:42 2013 +1000
+
+    Localise XKB initialization
+    
+    No need to store this in the evdev struct.
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 0d6c6b59c153cb53b53d6860387b4fe40d245628
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Fri Nov 30 10:32:47 2012 +1000
+
+    If stat fails, pretend it's not a virtual device
+    
+    If stat fails while checking if the device is virtual, just say "no, it's
+    not virtual" and continue. If the device really went away, it'll be removed
+    through other means.
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit c263d6e46d76b3e54570da637b1e7352437bb59d
+Author: Benjamin Tissoires <benjamin.tissoires@gmail.com>
+Date:   Fri Oct 26 16:27:35 2012 +0200
+
+    Add missing mt axis labels
+    
+    update evdev according to latest changes in input.h
+    
+    Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit 5af11b675242b2971f47c42a57b892dc24eb1917
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Fri May 25 13:39:32 2012 +1000
+
+    Use LogMessageVerbSigSafe if available
+    
+    Messages logged during the signal handler should use LogMessageVerbSigSafe
+    as of ABI 18.
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 33e7831b5fabc5c9dcc0224800a04761086952a7
 Author: Peter Hutterer <peter.hutterer@who-t.net>
 Date:   Tue Aug 7 14:32:17 2012 +1000
 
@@ -18,9 +252,8 @@ Date:   Tue Aug 7 14:32:17 2012 +1000
     X.Org Bug 53168 <http://bugs.freedesktop.org/show_bug.cgi?id=53168>
     
     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-    (cherry picked from commit 33e7831b5fabc5c9dcc0224800a04761086952a7)
 
-commit f2c6da02429eaabf9111d54c41bf46aa19b49776
+commit bc8997e8120cc8d4f33f44e0734fa488f9fef3b0
 Author: Peter Hutterer <peter.hutterer@who-t.net>
 Date:   Sun Aug 5 12:26:38 2012 +1000
 
@@ -35,9 +268,8 @@ Date:   Sun Aug 5 12:26:38 2012 +1000
     
     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
     Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
-    (cherry picked from commit bc8997e8120cc8d4f33f44e0734fa488f9fef3b0)
 
-commit 9791afc4c16eab92f30884a7e616dd93ac9b7513
+commit 1cb8f074df8d16879ec80d778d26fb5b9af05a3b
 Author: Peter Hutterer <peter.hutterer@who-t.net>
 Date:   Tue Jul 31 16:39:00 2012 +1000
 
@@ -52,17 +284,25 @@ Date:   Tue Jul 31 16:39:00 2012 +1000
     
     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
     Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
-    (cherry picked from commit 1cb8f074df8d16879ec80d778d26fb5b9af05a3b)
 
-commit f1ee12b9a363028c0d0a6668fca9eeb011f2354d
+commit 4eacb581fb71eaf515ec67af0f206126d8328043
 Author: Peter Hutterer <peter.hutterer@who-t.net>
-Date:   Fri Aug 3 16:00:31 2012 +1000
+Date:   Wed Jul 4 10:12:10 2012 +1000
 
-    evdev 2.7.2
+    Only use mtdev for multitouch devices
+    
+    mtdev uses a chunk of memory per device (~41kB), mainly for for its
+    internal event buffers. The average box these days can easily have 10
+    devices, but only few of those are multitouch. So check if we have
+    ABS_MT_POSITION axes and only create an mtdev instance if we do.
+    
+    If a device has multitouch axes but not x/y, we will ignore events from this
+    device now.
     
     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
 
-commit 74690817fcd3e91ea384b8f311d8ce5626d8c409
+commit 98af2003d48530b2e102cf667a9d40dcb94cb0fe
 Author: Peter Hutterer <peter.hutterer@who-t.net>
 Date:   Wed Jul 4 09:14:41 2012 +1000
 
@@ -87,66 +327,62 @@ Date:   Wed Jul 4 09:14:41 2012 +1000
     
     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
     Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
-    (cherry picked from commit 98af2003d48530b2e102cf667a9d40dcb94cb0fe)
 
-commit b2cbbb178e9a3650118bdf498e678ca4e12062fe
-Author: Peter Hutterer <peter.hutterer@who-t.net>
-Date:   Mon May 28 10:08:23 2012 +1000
+commit f5ede98085688b59dc56a9cc6592f75552a4e7ed
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Tue Jul 10 00:34:56 2012 +0100
 
-    Constify InputDriverRec->default_options
-    
-    Removes a warning, and with the input ABI 18 this is forced to const in the
-    server.
+    Fix compilation warnings for non-multitouch builds
     
-    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
     Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
-    (cherry picked from commit 9624f4e2ba7d1973813de066806eed108748a53a)
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
 
-commit 7d91fc7bfcdaaac657aeb7b8876a4002ad0fa68d
-Author: Marcin Slusarz <marcin.slusarz@gmail.com>
-Date:   Mon May 21 01:22:33 2012 +0200
+commit ff926d15b8176c5e90fced23bb1aa041c3dca20e
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Fri Mar 30 11:21:23 2012 +1000
 
-    Fix some obvious constness-related compile warnings.
+    Move axis labels into a separate header file
+    
+    Just to unclutter the code
     
-    Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-    (cherry picked from commit 2c8da280b3ab635d049784345d025d289348687b)
 
-commit 09987eab9a77aa94127ecacca41498bc5e83c0eb
-Author: Daniel Stone <daniel@fooishbar.org>
-Date:   Tue Jul 10 00:34:56 2012 +0100
+commit b0e3c8f97809c8e323783ded0d308c6f0b7729ff
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Thu Mar 29 09:25:43 2012 +1000
 
-    Fix compilation warnings for non-multitouch builds
+    Split initializing one axis label out into a helper function
+    
+    We need this for mixed axis devices. No functional changes.
     
-    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
-    Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-    (cherry picked from commit f5ede98085688b59dc56a9cc6592f75552a4e7ed)
+    Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
 
-commit 8af0e6f1ebaf327f735bca507134b34bb24b26c6
+commit 9624f4e2ba7d1973813de066806eed108748a53a
 Author: Peter Hutterer <peter.hutterer@who-t.net>
-Date:   Fri May 25 14:04:22 2012 +1000
+Date:   Mon May 28 10:08:23 2012 +1000
 
-    strtol doesn't need a empty string, NULL is good enough.
+    Constify InputDriverRec->default_options
     
-    Fixes:
-    evdev.c: In function 'EvdevInitButtonMapping':
-    evdev.c:1659:25: warning: initialization discards 'const' qualifier from
-    pointer target type [enabled by default]
+    Removes a warning, and with the input ABI 18 this is forced to const in the
+    server.
     
     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
     Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
-    (cherry picked from commit 61faf2e6e70a4c9ecffe638d46829738dc2e3452)
 
-commit 56e9a7a248d70fd55ecc3588e72d0172d7c9ad27
+commit 047955f51e013c190bb09ba0c03ca2c160f34997
 Author: Peter Hutterer <peter.hutterer@who-t.net>
-Date:   Tue Jul 24 14:05:09 2012 +1000
+Date:   Mon May 28 09:50:57 2012 +1000
 
-    evdev 2.7.1
+    Move duplicate check up before mtdev allocation
+    
+    No need to alloc mtdev if we then find out the fd is a duplicate one anyway.
     
     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
 
-commit 7df65237741b167b18ff0962a7bfc3db9d4826ed
+commit 8251d7a8ec00b4160b6601a6f2f4f0f5d461cbee
 Author: Peter Hutterer <peter.hutterer@who-t.net>
 Date:   Mon May 28 09:50:15 2012 +1000
 
@@ -154,9 +390,8 @@ Date:   Mon May 28 09:50:15 2012 +1000
     
     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
     Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
-    (cherry picked from commit 8251d7a8ec00b4160b6601a6f2f4f0f5d461cbee)
 
-commit f4e76a4c53f2abe0bd737485e0b32d6d36425118
+commit ac5173163d7d1e18d47630a397ece0f26b2568c8
 Author: Peter Hutterer <peter.hutterer@who-t.net>
 Date:   Mon May 28 09:08:43 2012 +1000
 
@@ -170,9 +405,31 @@ Date:   Mon May 28 09:08:43 2012 +1000
     Reported-by: Zdenek Kabelac <zdenek.kabelac@gmail.com>
     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
     Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
-    (cherry picked from commit ac5173163d7d1e18d47630a397ece0f26b2568c8)
 
-commit ac772cde9469c406564433d6d41416fa2279fbf9
+commit 61faf2e6e70a4c9ecffe638d46829738dc2e3452
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Fri May 25 14:04:22 2012 +1000
+
+    strtol doesn't need a empty string, NULL is good enough.
+    
+    Fixes:
+    evdev.c: In function 'EvdevInitButtonMapping':
+    evdev.c:1659:25: warning: initialization discards 'const' qualifier from
+    pointer target type [enabled by default]
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 7f3f98be7f6585de3051ade6d5447acd378b572f
+Author: Peter Hutterer <peter.hutterer@who-t.net>
+Date:   Fri May 25 13:42:05 2012 +1000
+
+    Use xf86IDrvMsg in emuMB.c instead of ErrorF
+    
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+    Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+
+commit 4145fe1c087708bf5d6608e328342282ecb93ab0
 Author: Chase Douglas <chase.douglas@canonical.com>
 Date:   Wed Jun 6 12:07:12 2012 -0700
 
@@ -185,9 +442,8 @@ Date:   Wed Jun 6 12:07:12 2012 -0700
     
     Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-    (cherry picked from commit 4145fe1c087708bf5d6608e328342282ecb93ab0)
 
-commit 774915924102c348ce7045ffa07905d1079f447c
+commit 9ce068e760e1282183c7aa1b4cc6b0fcb6b494dd
 Author: Chase Douglas <chase.douglas@canonical.com>
 Date:   Thu May 24 10:48:38 2012 -0700
 
@@ -199,9 +455,17 @@ Date:   Thu May 24 10:48:38 2012 -0700
     
     Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
     Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-    (cherry picked from commit 9ce068e760e1282183c7aa1b4cc6b0fcb6b494dd)
 
-commit 833fc517d75934797bdadbf043b18a1c94fc1293
+commit 2c8da280b3ab635d049784345d025d289348687b
+Author: Marcin Slusarz <marcin.slusarz@gmail.com>
+Date:   Mon May 21 01:22:33 2012 +0200
+
+    Fix some obvious constness-related compile warnings.
+    
+    Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
+    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+commit f28507e8ce2bd45b51c28f024baebd9711c28fc3
 Author: Peter Hutterer <peter.hutterer@who-t.net>


Reply to: