--- 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-08 17:14:02.000000000 +0100 @@ -30,8 +30,8 @@ #define _evdev_touch_C_ -#include -#if XF86_VERSION_CURRENT >= XF86_VERSION_NUMERIC(3,9,0,0,0) +#include +#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(3,9,0,0,0) #define XFREE86_V4 #endif @@ -74,7 +74,6 @@ #include "xf86_OSproc.h" #include "xf86Xinput.h" #include "exevents.h" -#include "xf86OSmouse.h" #include "randrstr.h" #ifndef NEED_XF86_TYPES @@ -139,7 +138,7 @@ static XF86ModuleVersionInfo VersionRec "Kenan Esau", MODINFOSTRING1, MODINFOSTRING2, - XF86_VERSION_CURRENT, + XORG_VERSION_CURRENT, 0, 8, 8, ABI_CLASS_XINPUT, ABI_XINPUT_VERSION, @@ -167,7 +166,7 @@ Unplug(pointer p) } -XF86ModuleData evtouchModuleData = {&VersionRec, Plug, Unplug }; +_X_EXPORT XF86ModuleData evtouchModuleData = {&VersionRec, Plug, Unplug }; #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 btn_label; + Atom axis_labels[2] = { 0, 0 }; +#endif for (i = 0; i < EV_MAX_BUTTONS; i++) map[i] = i; @@ -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_label, +#endif + map) == FALSE) { ErrorF("Unable to allocate EVTouch touchscreen ButtonClassDeviceStruct\n"); return BadAlloc; @@ -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, - local->history_size, Absolute) == FALSE) + if (InitValuatorClassDeviceStruct(dev, 2, +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 + axis_labels, +#endif + local->history_size, Absolute) == FALSE) { ErrorF ("Unable to allocate EVTouch touchscreen ValuatorClassDeviceStruct\n"); 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 + 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_height, + xf86InitValuatorAxisStruct(dev, 1, +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 + axis_labels[1], +#endif + 0, priv->screen_height, 1024, EV_AXIS_MIN_RES /* min_res */ , EV_AXIS_MAX_RES /* max_res */ ); xf86InitValuatorDefaults(dev, 1); -#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;