With the patch file
This commit is contained in:
parent
ca86ba719a
commit
30f528a97a
95
0001-Add-option-TypeName-62831.patch
Normal file
95
0001-Add-option-TypeName-62831.patch
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
From 4116cb799a8cb16c6b721ec545e875f67721bb94 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Peter Hutterer <peter.hutterer@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@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
|
||||||
|
|
@ -8,7 +8,7 @@
|
|||||||
Summary: Xorg X11 evdev input driver
|
Summary: Xorg X11 evdev input driver
|
||||||
Name: xorg-x11-drv-evdev
|
Name: xorg-x11-drv-evdev
|
||||||
Version: 2.8.0
|
Version: 2.8.0
|
||||||
Release: 2%{?gitdate:.%{gitdate}git%{gitversion}}%{?dist}
|
Release: 3%{?gitdate:.%{gitdate}git%{gitversion}}%{?dist}
|
||||||
URL: http://www.x.org
|
URL: http://www.x.org
|
||||||
License: MIT
|
License: MIT
|
||||||
Group: User Interface/X Hardware Support
|
Group: User Interface/X Hardware Support
|
||||||
@ -82,6 +82,9 @@ X.Org X11 evdev input driver development files.
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Apr 15 2013 Peter Hutterer <peter.hutterer@redhat.com> 2.8.0-3
|
||||||
|
- With the patch file
|
||||||
|
|
||||||
* Mon Apr 15 2013 Peter Hutterer <peter.hutterer@redhat.com> 2.8.0-2
|
* Mon Apr 15 2013 Peter Hutterer <peter.hutterer@redhat.com> 2.8.0-2
|
||||||
- Add option Type name to auto-assign XI_TRACKBALL
|
- Add option Type name to auto-assign XI_TRACKBALL
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user