[xorg-x11-drv-evdev] With the patch file

Peter Hutterer whot at fedoraproject.org
Mon Apr 15 06:01:35 UTC 2013


commit 30f528a97a468f394e66fcd58257bfec13a81888
Author: Peter Hutterer <peter.hutterer at who-t.net>
Date:   Mon Apr 15 16:01:28 2013 +1000

    With the patch file

 0001-Add-option-TypeName-62831.patch |   95 ++++++++++++++++++++++++++++++++++
 xorg-x11-drv-evdev.spec              |    5 ++-
 2 files changed, 99 insertions(+), 1 deletions(-)
---
diff --git a/0001-Add-option-TypeName-62831.patch b/0001-Add-option-TypeName-62831.patch
new file mode 100644
index 0000000..57f7f79
--- /dev/null
+++ b/0001-Add-option-TypeName-62831.patch
@@ -0,0 +1,95 @@
+From 4116cb799a8cb16c6b721ec545e875f67721bb94 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer at who-t.net>
+Date: Tue, 2 Apr 2013 14:12:26 +1000
+Subject: [PATCH evdev] 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 at who-t.net>
+---
+ man/evdev.man |  6 ++++++
+ src/evdev.c   | 13 +++++++++++++
+ src/evdev.h   |  2 ++
+ 3 files changed, 21 insertions(+)
+
+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 235db71..08c5384 100644
+--- a/src/evdev.c
++++ b/src/evdev.c
+@@ -2554,6 +2554,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);
+ }
+@@ -2585,6 +2588,8 @@ EvdevAlloc(void)
+     pEvdev->rel_axis_map[0] = 0;
+     pEvdev->rel_axis_map[1] = 1;
+ 
++    pEvdev->type_name = NULL;
++
+     return pEvdev;
+ }
+ 
+@@ -2629,6 +2634,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 */
+-- 
+1.8.1.4
+
diff --git a/xorg-x11-drv-evdev.spec b/xorg-x11-drv-evdev.spec
index eeabaf3..14a21d4 100644
--- a/xorg-x11-drv-evdev.spec
+++ b/xorg-x11-drv-evdev.spec
@@ -8,7 +8,7 @@
 Summary:    Xorg X11 evdev input driver
 Name:       xorg-x11-drv-evdev
 Version:    2.8.0
-Release:    2%{?gitdate:.%{gitdate}git%{gitversion}}%{?dist}
+Release:    3%{?gitdate:.%{gitdate}git%{gitversion}}%{?dist}
 URL:        http://www.x.org
 License:    MIT
 Group:      User Interface/X Hardware Support
@@ -82,6 +82,9 @@ X.Org X11 evdev input driver development files.
 
 
 %changelog
+* Mon Apr 15 2013 Peter Hutterer <peter.hutterer at redhat.com> 2.8.0-3
+- With the patch file
+
 * Mon Apr 15 2013 Peter Hutterer <peter.hutterer at redhat.com> 2.8.0-2
 - Add option Type name to auto-assign XI_TRACKBALL
 


More information about the scm-commits mailing list