123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 |
- 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 @@
-
- #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>
-
- +#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
- };
-
- -#ifdef XFree86LOADER
- +//#ifdef XFree86LOADER
- static XF86ModuleVersionInfo VersionRec =
- {
- "evtouch",
- "Kenan Esau",
- MODINFOSTRING1,
- MODINFOSTRING2,
- - XF86_VERSION_CURRENT,
- + XORG_VERSION_CURRENT,
- 0, 8, 8,
- ABI_CLASS_XINPUT,
- ABI_XINPUT_VERSION,
- @@ -167,9 +172,9 @@ 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)
- 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;
- +#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)
- /*
- * 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);
- +#endif
- +
- ErrorF("Unable to allocate EVTouch touchscreen ButtonClassDeviceStruct\n");
- return BadAlloc;
- }
- @@ -653,7 +703,12 @@ 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,
- +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
- + axis_labels,
- +#endif
- +
- +// xf86GetMotionEvents,
- 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,
- + xf86InitValuatorAxisStruct(dev, 0,
- +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
- + XIGetKnownProperty(AXIS_LABEL_PROP_ABS_X),
- +#endif
- + 0, priv->screen_width,
- + 1024,
- + EV_AXIS_MIN_RES /* min_res */ ,
- + EV_AXIS_MAX_RES /* max_res */ );
- + xf86InitValuatorDefaults(dev, 0);
- +
- + xf86InitValuatorAxisStruct(dev, 1,
- +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
- + XIGetKnownProperty(AXIS_LABEL_PROP_ABS_Y),
- +#endif
- + 0, priv->screen_width,
- + 1024,
- + EV_AXIS_MIN_RES /* min_res */ ,
- + EV_AXIS_MAX_RES /* max_res */ );
- xf86InitValuatorDefaults(dev, 1);
- #endif
-
|