summaryrefslogtreecommitdiff
path: root/package/xf86-input-evtouch
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2010-01-08 18:05:44 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2010-01-08 18:05:44 +0100
commit0e2ce1a8e4e679ad913d01267caefe2d9b0eb634 (patch)
tree7458ce7f31a08ef219a487441af46eab6c9ef72a /package/xf86-input-evtouch
parentb3dbed778b93178841ebe47d0ef0edbfa4803667 (diff)
add patches for xorg 1.7
from archlinux and debian. Works okay now.
Diffstat (limited to 'package/xf86-input-evtouch')
-rw-r--r--package/xf86-input-evtouch/patches/patch-ev_calibrate_c11
-rw-r--r--package/xf86-input-evtouch/patches/patch-evtouch_c191
2 files changed, 82 insertions, 120 deletions
diff --git a/package/xf86-input-evtouch/patches/patch-ev_calibrate_c b/package/xf86-input-evtouch/patches/patch-ev_calibrate_c
new file mode 100644
index 000000000..103500ea5
--- /dev/null
+++ b/package/xf86-input-evtouch/patches/patch-ev_calibrate_c
@@ -0,0 +1,11 @@
+--- xf86-input-evtouch-0.8.8.orig/ev_calibrate.c 2008-11-10 12:25:32.000000000 +0100
++++ xf86-input-evtouch-0.8.8/ev_calibrate.c 2010-01-08 17:13:52.000000000 +0100
+@@ -218,7 +218,7 @@ int main (void)
+ int cap_style = CapButt; /* style of the line's edje and */
+ int join_style = JoinBevel; /* joined lines. */
+
+- int event_mask = ExposureMask | ButtonReleaseMask | PointerMotionMask | KeyPressMask;
++ int event_mask = ExposureMask | ButtonPressMask | ButtonReleaseMask | PointerMotionMask | KeyPressMask;
+
+ int depth;
+ int screen_num;
diff --git a/package/xf86-input-evtouch/patches/patch-evtouch_c b/package/xf86-input-evtouch/patches/patch-evtouch_c
index a60a08453..a0fe4919e 100644
--- a/package/xf86-input-evtouch/patches/patch-evtouch_c
+++ b/package/xf86-input-evtouch/patches/patch-evtouch_c
@@ -1,42 +1,25 @@
-fixed compile for xorg 1.7.1
--- xf86-input-evtouch-0.8.8.orig/evtouch.c 2008-11-11 09:47:55.000000000 +0100
-+++ xf86-input-evtouch-0.8.8/evtouch.c 2010-01-06 16:11:16.000000000 +0100
-@@ -30,10 +30,10 @@
++++ xf86-input-evtouch-0.8.8/evtouch.c 2010-01-08 17:14:02.000000000 +0100
+@@ -30,8 +30,8 @@
#define _evdev_touch_C_
-#include <xf86Version.h>
-#if XF86_VERSION_CURRENT >= XF86_VERSION_NUMERIC(3,9,0,0,0)
--#define XFREE86_V4
--#endif
-+//#include <xf86Version.h>
-+//#if XF86_VERSION_CURRENT >= XF86_VERSION_NUMERIC(3,9,0,0,0)
-+//#define XFREE86_V4
-+//#endif
-
- /*****************************************************************************
- * Standard Headers
-@@ -88,6 +88,11 @@
-
- #include <linux/input.h>
++#include <xorgVersion.h>
++#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(3,9,0,0,0)
+ #define XFREE86_V4
+ #endif
-+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 3
-+#include <X11/Xatom.h>
-+#include <xserver-properties.h>
-+#endif
-+
- /*****************************************************************************
- * Local Headers
- ****************************************************************************/
-@@ -132,14 +137,14 @@ InputDriverRec EVTOUCH = {
- 0
- };
+@@ -74,7 +74,6 @@
+ #include "xf86_OSproc.h"
+ #include "xf86Xinput.h"
+ #include "exevents.h"
+-#include "xf86OSmouse.h"
+ #include "randrstr.h"
--#ifdef XFree86LOADER
-+//#ifdef XFree86LOADER
- static XF86ModuleVersionInfo VersionRec =
- {
- "evtouch",
+ #ifndef NEED_XF86_TYPES
+@@ -139,7 +138,7 @@ static XF86ModuleVersionInfo VersionRec
"Kenan Esau",
MODINFOSTRING1,
MODINFOSTRING2,
@@ -45,130 +28,98 @@ fixed compile for xorg 1.7.1
0, 8, 8,
ABI_CLASS_XINPUT,
ABI_XINPUT_VERSION,
-@@ -167,9 +172,9 @@ Unplug(pointer p)
+@@ -167,7 +166,7 @@ Unplug(pointer p)
}
-XF86ModuleData evtouchModuleData = {&VersionRec, Plug, Unplug };
+_X_EXPORT XF86ModuleData evtouchModuleData = {&VersionRec, Plug, Unplug };
--#endif /* XFree86LOADER */
-+//#endif /* XFree86LOADER */
-
-
- static const char *default_options[] =
-@@ -581,6 +586,32 @@ DeviceOff (DeviceIntPtr dev)
- }
-
-
-+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
-+static void xf86WcmInitButtonLabels(Atom *labels, int nlabels)
-+{
-+ memset(labels, 0, nlabels * sizeof(Atom));
-+ switch(nlabels)
-+ {
-+ default:
-+ case 7:
-+ labels[6] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_HWHEEL_RIGHT);
-+ case 6:
-+ labels[5] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_HWHEEL_LEFT);
-+ case 5:
-+ labels[4] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_WHEEL_DOWN);
-+ case 4:
-+ labels[3] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_WHEEL_UP);
-+ case 3:
-+ labels[2] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_RIGHT);
-+ case 2:
-+ labels[1] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_MIDDLE);
-+ case 1:
-+ labels[0] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_LEFT);
-+ break;
-+ }
-+}
-+#endif
-+
-
-
- static Bool
-@@ -591,12 +622,21 @@ DeviceInit (DeviceIntPtr dev)
+ #endif /* XFree86LOADER */
+
+@@ -306,7 +305,7 @@ void EVTouchProcessAbs(EVTouchPrivatePtr
+ }
+
+ if (pos_changed == 1) {
+-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 2
++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 2
+ ConvertProc(priv->local, 0, 2,
+ priv->raw_x, priv->raw_y,
+ 0, 0, 0, 0,
+@@ -370,7 +369,7 @@ void EVTouchProcessRel(EVTouchPrivatePtr
+ priv->raw_y = priv->min_y;
+ }
+
+-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 2
++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 2
+ ConvertProc(priv->local, 0, 2,
+ priv->raw_x, priv->raw_y,
+ 0, 0, 0, 0,
+@@ -591,6 +590,10 @@ DeviceInit (DeviceIntPtr dev)
EVTouchPrivatePtr priv = (EVTouchPrivatePtr) (local->private);
unsigned char map[EV_MAX_BUTTONS];
int i;
+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
-+ Atom *axis_labels, *btn_labels;
++ Atom btn_label;
++ Atom axis_labels[2] = { 0, 0 };
+#endif
for (i = 0; i < EV_MAX_BUTTONS; i++)
map[i] = i;
-
- priv->btn_count = EV_MAX_BUTTONS;
-
-+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
-+ axis_labels = xcalloc(2, sizeof(Atom));
-+ btn_labels = xcalloc(EV_MAX_BUTTONS, sizeof(Atom));
-+ xf86WcmInitButtonLabels(btn_labels, EV_MAX_BUTTONS);
-+#endif
-+
- /*
- * these have to be here instead of in the SetupProc, because when the
- * SetupProc is run at server startup, screenInfo is not setup yet
-@@ -629,8 +669,18 @@ DeviceInit (DeviceIntPtr dev)
+@@ -629,7 +632,11 @@ DeviceInit (DeviceIntPtr dev)
/*
* Device reports button press for 5 buttons.
*/
- if (InitButtonClassDeviceStruct (dev, EV_MAX_BUTTONS, map) == FALSE)
+ if (InitButtonClassDeviceStruct (dev, EV_MAX_BUTTONS,
-+
-+ #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
-+ btn_labels,
-+ #endif
-+ map) == FALSE)
- {
-+
+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
-+ xfree(btn_labels);
++ &btn_label,
+#endif
-+
++ map) == FALSE)
+ {
ErrorF("Unable to allocate EVTouch touchscreen ButtonClassDeviceStruct\n");
return BadAlloc;
- }
-@@ -653,7 +703,12 @@ DeviceInit (DeviceIntPtr dev)
+@@ -653,28 +660,34 @@ DeviceInit (DeviceIntPtr dev)
* Device reports motions on 2 axes in absolute coordinates.
* Axes min and max values are reported in raw coordinates.
*/
- if (InitValuatorClassDeviceStruct(dev, 2, xf86GetMotionEvents,
-+ if (InitValuatorClassDeviceStruct(dev, 2,
+- local->history_size, Absolute) == FALSE)
++ if (InitValuatorClassDeviceStruct(dev, 2,
+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
-+ axis_labels,
++ axis_labels,
+#endif
-+
-+// xf86GetMotionEvents,
- local->history_size, Absolute) == FALSE)
++ local->history_size, Absolute) == FALSE)
{
ErrorF ("Unable to allocate EVTouch touchscreen ValuatorClassDeviceStruct\n");
-@@ -672,7 +727,24 @@ DeviceInit (DeviceIntPtr dev)
- EV_AXIS_MAX_RES /* max_res */ );
- xf86InitValuatorDefaults(dev, 1);
- #else
-- xf86InitValuatorAxisStruct(dev, 0, priv->min_x, priv->max_x,
+ return !Success;
+ }
+
+-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 2
+- xf86InitValuatorAxisStruct(dev, 0, 0, priv->screen_width,
+ xf86InitValuatorAxisStruct(dev, 0,
+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
-+ XIGetKnownProperty(AXIS_LABEL_PROP_ABS_X),
++ axis_labels[0],
+#endif
-+ 0, priv->screen_width,
-+ 1024,
-+ EV_AXIS_MIN_RES /* min_res */ ,
-+ EV_AXIS_MAX_RES /* max_res */ );
-+ xf86InitValuatorDefaults(dev, 0);
-+
-+ xf86InitValuatorAxisStruct(dev, 1,
++ 0, priv->screen_width,
+ 1024,
+ EV_AXIS_MIN_RES /* min_res */ ,
+ EV_AXIS_MAX_RES /* max_res */ );
+ xf86InitValuatorDefaults(dev, 0);
+- xf86InitValuatorAxisStruct(dev, 1, 0, priv->screen_height,
++ xf86InitValuatorAxisStruct(dev, 1,
+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
-+ XIGetKnownProperty(AXIS_LABEL_PROP_ABS_Y),
++ axis_labels[1],
+#endif
-+ 0, priv->screen_width,
-+ 1024,
-+ EV_AXIS_MIN_RES /* min_res */ ,
-+ EV_AXIS_MAX_RES /* max_res */ );
++ 0, priv->screen_height,
+ 1024,
+ EV_AXIS_MIN_RES /* min_res */ ,
+ EV_AXIS_MAX_RES /* max_res */ );
xf86InitValuatorDefaults(dev, 1);
- #endif
+-#else
+- xf86InitValuatorAxisStruct(dev, 0, priv->min_x, priv->max_x,
+- xf86InitValuatorDefaults(dev, 1);
+-#endif
+ /* Initial position of pointer on screen: Centered */
+ priv->cur_x=(priv->max_x - priv->min_x)/2;