From ed5210189a29729ee7fd31e7e522b9aeb6036bbb Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Mon, 15 Mar 2010 19:40:10 +0100 Subject: xf86-input-evtouch: perform sprint cleaning on the recipe to make it build again --- .../xf86-input-evtouch/02_calibration_1.6.patch | 41 + .../xf86-input-evtouch/03_server-1.6-ftbfs.diff | 61 + .../xf86-input-evtouch/04_server-1.7-ftbfs.diff | 516 +++ .../20_fix_calibrate_submission_directions.patch | 13 - .../21_more_calibration_fixups.patch | 33 - .../xf86-input-evtouch/fdi/50-elo-2700.fdi | 16 + .../xf86-input-evtouch/fdi/50-gunze.fdi | 16 + .../xf86-input-evtouch/fdi/50-ideaco-idc6681.fdi | 23 + .../xf86-input-evtouch/fdi/50-touchpack.fdi | 30 + .../xf86-input-evtouch_0.8.8-0ubuntu6.diff | 4210 -------------------- recipes/xorg-driver/xf86-input-evtouch_0.8.8.bb | 8 +- 11 files changed, 707 insertions(+), 4260 deletions(-) create mode 100644 recipes/xorg-driver/xf86-input-evtouch/02_calibration_1.6.patch create mode 100644 recipes/xorg-driver/xf86-input-evtouch/03_server-1.6-ftbfs.diff create mode 100644 recipes/xorg-driver/xf86-input-evtouch/04_server-1.7-ftbfs.diff delete mode 100644 recipes/xorg-driver/xf86-input-evtouch/20_fix_calibrate_submission_directions.patch delete mode 100644 recipes/xorg-driver/xf86-input-evtouch/21_more_calibration_fixups.patch create mode 100644 recipes/xorg-driver/xf86-input-evtouch/fdi/50-elo-2700.fdi create mode 100644 recipes/xorg-driver/xf86-input-evtouch/fdi/50-gunze.fdi create mode 100644 recipes/xorg-driver/xf86-input-evtouch/fdi/50-ideaco-idc6681.fdi create mode 100644 recipes/xorg-driver/xf86-input-evtouch/fdi/50-touchpack.fdi delete mode 100644 recipes/xorg-driver/xf86-input-evtouch/xf86-input-evtouch_0.8.8-0ubuntu6.diff diff --git a/recipes/xorg-driver/xf86-input-evtouch/02_calibration_1.6.patch b/recipes/xorg-driver/xf86-input-evtouch/02_calibration_1.6.patch new file mode 100644 index 0000000000..c461758115 --- /dev/null +++ b/recipes/xorg-driver/xf86-input-evtouch/02_calibration_1.6.patch @@ -0,0 +1,41 @@ +From: Thomas Jaeger +Date: Sun, 22 Mar 2009 20:58:58 -0400 +Subject: Make calibration work on xserver-1.6 + +Stolen from Ubuntu. + +Index: xserver-xorg-input-evtouch/ev_calibrate.c +=================================================================== +--- xserver-xorg-input-evtouch.orig/ev_calibrate.c ++++ xserver-xorg-input-evtouch/ev_calibrate.c +@@ -218,7 +218,7 @@ + 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; +Index: xserver-xorg-input-evtouch/evtouch.c +=================================================================== +--- xserver-xorg-input-evtouch.orig/evtouch.c ++++ xserver-xorg-input-evtouch/evtouch.c +@@ -306,7 +306,7 @@ + } + + 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, +@@ -369,7 +369,7 @@ + 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, diff --git a/recipes/xorg-driver/xf86-input-evtouch/03_server-1.6-ftbfs.diff b/recipes/xorg-driver/xf86-input-evtouch/03_server-1.6-ftbfs.diff new file mode 100644 index 0000000000..79192cbad5 --- /dev/null +++ b/recipes/xorg-driver/xf86-input-evtouch/03_server-1.6-ftbfs.diff @@ -0,0 +1,61 @@ +From: Julien Cristau +Date: Sun, 17 May 2009 18:54:59 +0200 +Subject: Fix build with server 1.6 + +* uninclude xf86Version.h +* fix InitValuatorClassDeviceStruct usage +* fix input ABI check + +Index: xserver-xorg-input-evtouch/evtouch.c +=================================================================== +--- xserver-xorg-input-evtouch.orig/evtouch.c ++++ xserver-xorg-input-evtouch/evtouch.c +@@ -30,10 +30,8 @@ + + #define _evdev_touch_C_ + +-#include +-#if XF86_VERSION_CURRENT >= XF86_VERSION_NUMERIC(3,9,0,0,0) ++#include + #define XFREE86_V4 +-#endif + + /***************************************************************************** + * Standard Headers +@@ -74,7 +72,6 @@ + #include "xf86_OSproc.h" + #include "xf86Xinput.h" + #include "exevents.h" +-#include "xf86OSmouse.h" + #include "randrstr.h" + + #ifndef NEED_XF86_TYPES +@@ -139,7 +136,7 @@ + "Kenan Esau", + MODINFOSTRING1, + MODINFOSTRING2, +- XF86_VERSION_CURRENT, ++ XORG_VERSION_CURRENT, + 0, 8, 8, + ABI_CLASS_XINPUT, + ABI_XINPUT_VERSION, +@@ -652,14 +649,17 @@ + * 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) == 0 ++ xf86GetMotionEvents, ++#endif + local->history_size, Absolute) == FALSE) + { + ErrorF ("Unable to allocate EVTouch touchscreen ValuatorClassDeviceStruct\n"); + return !Success; + } + +-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 2 ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 2 + xf86InitValuatorAxisStruct(dev, 0, 0, priv->screen_width, + 1024, + EV_AXIS_MIN_RES /* min_res */ , diff --git a/recipes/xorg-driver/xf86-input-evtouch/04_server-1.7-ftbfs.diff b/recipes/xorg-driver/xf86-input-evtouch/04_server-1.7-ftbfs.diff new file mode 100644 index 0000000000..726297cff6 --- /dev/null +++ b/recipes/xorg-driver/xf86-input-evtouch/04_server-1.7-ftbfs.diff @@ -0,0 +1,516 @@ +commit f88ce643a4d343cc27ef6ef7e0bf148f885043ab +Author: Mattia Dongili +Date: Sun Jan 24 15:45:51 2010 +0900 + + 04 + + Build with 1.7. Also add some more probing taken from evdev. + + Signed-off-by: Mattia Dongili + +Index: xserver-xorg-input-evtouch/evtouch.c +=================================================================== +--- xserver-xorg-input-evtouch.orig/evtouch.c 2010-02-14 14:08:33.000000000 +0900 ++++ xserver-xorg-input-evtouch/evtouch.c 2010-02-14 14:13:51.000000000 +0900 +@@ -57,6 +57,7 @@ + #define NEED_EVENTS + #include + #include ++#include + + #include "xf86.h" + +@@ -129,7 +130,6 @@ + 0 + }; + +-#ifdef XFree86LOADER + static XF86ModuleVersionInfo VersionRec = + { + "evtouch", +@@ -164,9 +164,7 @@ + } + + +-XF86ModuleData evtouchModuleData = {&VersionRec, Plug, Unplug }; +- +-#endif /* XFree86LOADER */ ++_X_EXPORT XF86ModuleData evtouchModuleData = {&VersionRec, Plug, Unplug }; + + + static const char *default_options[] = +@@ -239,7 +237,7 @@ + + priv->emulate3_timer_expired = TRUE; + xf86UnblockSIGIO(sigstate); +- ++ + return 0; + } + +@@ -339,7 +337,7 @@ + priv->cur_x, + priv->cur_y); + } +- } ++ } + } + } + +@@ -372,7 +370,7 @@ + 0, 0, 0, 0, + &priv->cur_x, &priv->cur_y); + #endif +- ++ + libtouchSetPos(priv->libtouch, priv->cur_x, priv->cur_y); + } + +@@ -394,7 +392,7 @@ + priv->emulate3_timeout, + emulate3Timer, + local); +- ++ + if ( (ev->value == 1) && (ev->code == BTN_LEFT) ) { + priv->touch_flags |= LB_STAT; + } +@@ -419,7 +417,7 @@ + DBGOUT(2, "EVTouch: Right Release\n"); + priv->touch_flags &= ~RB_STAT; + SetBtnAction(priv, 3, BTN_RELEASE); +- } ++ } + } else { + if (ev->code == BTN_LEFT) { + SetBtnAction(priv, 1, ev->value); +@@ -478,26 +476,98 @@ + return; + } + +- +- ++#define TestBit(bit, array) ((array[(bit) / LONG_BITS]) & (1L << ((bit) % LONG_BITS))) ++#define ArrayLength(a) (sizeof(a) / (sizeof((a)[0]))) + + static Bool + QueryHardware (LocalDevicePtr local) + { +- DBGOUT(2, "EVTouch: %s\n", __FUNCTION__); +- +- return Success; ++ EVTouchPrivatePtr priv = (EVTouchPrivatePtr) (local->private); ++ size_t len; ++ int i, num_buttons; ++ ++ DBGOUT(2, "EVTouch: %s\n", __FUNCTION__); ++ ++ if (ioctl(local->fd, EVIOCGNAME(sizeof(priv->name) - 1), priv->name) < 0) { ++ xf86Msg(X_ERROR, "ioctl EVIOCGNAME failed: %s\n", strerror(errno)); ++ goto error; ++ } ++ ++ len = ioctl(local->fd, EVIOCGBIT(0, sizeof(priv->bitmask)), priv->bitmask); ++ if (len < 0) { ++ xf86Msg(X_ERROR, "%s: ioctl EVIOCGBIT failed: %s\n", ++ local->name, strerror(errno)); ++ goto error; ++ } ++ ++ len = ioctl(local->fd, EVIOCGBIT(EV_REL, sizeof(priv->rel_bitmask)), priv->rel_bitmask); ++ if (len < 0) { ++ xf86Msg(X_ERROR, "%s: ioctl EVIOCGBIT failed: %s\n", ++ local->name, strerror(errno)); ++ goto error; ++ } ++ ++ len = ioctl(local->fd, EVIOCGBIT(EV_ABS, sizeof(priv->abs_bitmask)), priv->abs_bitmask); ++ if (len < 0) { ++ xf86Msg(X_ERROR, "%s: ioctl EVIOCGBIT failed: %s\n", ++ local->name, strerror(errno)); ++ goto error; ++ } ++ ++ len = ioctl(local->fd, EVIOCGBIT(EV_KEY, sizeof(priv->key_bitmask)), priv->key_bitmask); ++ if (len < 0) { ++ xf86Msg(X_ERROR, "%s: ioctl EVIOCGBIT failed: %s\n", ++ local->name, strerror(errno)); ++ goto error; ++ } ++ ++ num_buttons = 0; ++ ++ /* count all buttons */ ++ for (i = BTN_MISC; i < BTN_JOYSTICK; i++) ++ { ++ if (TestBit(i, priv->key_bitmask)) ++ { ++ if (i > num_buttons) ++ num_buttons = i; ++ } ++ } ++ if (num_buttons) ++ { ++ priv->flags |= EVTOUCH_BUTTON_EVENTS; ++ priv->num_buttons = num_buttons; ++ xf86Msg(X_INFO, "%s: Found %d mouse buttons\n", local->name, ++ num_buttons); ++ } ++ ++ for (i = 0; i < REL_MAX; i++) { ++ if (TestBit(i, priv->rel_bitmask)) { ++ xf86Msg(X_INFO, "%s: Found relative axes\n", local->name); ++ priv->flags |= EVTOUCH_RELATIVE_EVENTS; ++ break; ++ } ++ } ++ ++ for (i = 0; i < ABS_MAX; i++) { ++ if (TestBit(i, priv->abs_bitmask)) { ++ xf86Msg(X_INFO, "%s: Found absolute axes\n", local->name); ++ priv->flags |= EVTOUCH_ABSOLUTE_EVENTS; ++ break; ++ } ++ } ++ ++ return Success; ++error: ++ return (!Success); + } + + +- +- + static Bool + DeviceOn (DeviceIntPtr dev) + { + LocalDevicePtr local = (LocalDevicePtr) dev->public.devicePrivate; + EVTouchPrivatePtr priv = (EVTouchPrivatePtr) (local->private); +- ++ + local->fd = xf86OpenSerial(local->options); + + DBGOUT(2, "EVTouch: %s\n", __FUNCTION__ ); +@@ -512,8 +582,7 @@ + + DBG (9, XisbTrace (priv->buffer, 1)); + +- +- if (!priv->buffer) ++ if (!priv->buffer) + { + xf86CloseSerial(local->fd); + local->fd = -1; +@@ -531,7 +600,6 @@ + if (ioctl(local->fd, EVIOCGRAB, (void *)1)) + xf86Msg(X_ERROR, "%s: Unable to grab device (%s).\n", local->name, strerror(errno)); + +- + #ifndef XFREE86_V4 + xf86AddEnabledDevice(local); + #else +@@ -544,8 +612,6 @@ + } + + +- +- + static Bool + DeviceOff (DeviceIntPtr dev) + { +@@ -555,7 +621,7 @@ + DBGOUT(2, "EVTouch: %s\n", __FUNCTION__ ); + + if (local->fd != -1) +- { ++ { + ioctl(local->fd, EVIOCGRAB, (void *)0); + xf86RemoveEnabledDevice (local); + if (priv->buffer) +@@ -577,6 +643,73 @@ + } + + ++static Atom *EvtouchInitButtonLabels(void) ++{ ++#ifdef HAVE_LABELS ++ Atom *labels = xalloc(EV_MAX_BUTTONS * sizeof(Atom)); ++ ++ /* initialize the 5 button labels used by this driver */ ++ labels[0] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_LEFT); ++ labels[1] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_MIDDLE); ++ labels[2] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_RIGHT); ++ labels[3] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_WHEEL_UP); ++ labels[4] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_WHEEL_DOWN); ++ ++ return labels; ++#endif ++} ++ ++static char* abs_labels[] = { ++ AXIS_LABEL_PROP_ABS_X, ++ AXIS_LABEL_PROP_ABS_Y, ++ AXIS_LABEL_PROP_ABS_Z, ++ AXIS_LABEL_PROP_ABS_WHEEL ++}; ++static char* rel_labels[] = { ++ AXIS_LABEL_PROP_REL_X, ++ AXIS_LABEL_PROP_REL_Y, ++ AXIS_LABEL_PROP_REL_Z, ++ AXIS_LABEL_PROP_REL_WHEEL ++}; ++ ++static void ++EvtouchInitAxesLabels(EVTouchPrivatePtr pEVTouch, int natoms, Atom *atoms) ++{ ++#ifdef HAVE_LABELS ++ Atom atom; ++ int axis; ++ char **labels; ++ int labels_len = 0; ++ char *misc_label; ++ ++ if (pEVTouch->flags & EVTOUCH_ABSOLUTE_EVENTS) ++ { ++ labels = abs_labels; ++ labels_len = ArrayLength(abs_labels); ++ misc_label = AXIS_LABEL_PROP_ABS_MISC; ++ } else if ((pEVTouch->flags & EVTOUCH_RELATIVE_EVENTS)) ++ { ++ labels = rel_labels; ++ labels_len = ArrayLength(rel_labels); ++ misc_label = AXIS_LABEL_PROP_REL_MISC; ++ } ++ ++ memset(atoms, 0, natoms * sizeof(Atom)); ++ ++ /* Now fill the ones we know */ ++ for (axis = 0; axis < labels_len; axis++) ++ { ++ if (pEVTouch->axis_map[axis] == -1) ++ continue; ++ ++ atom = XIGetKnownProperty(labels[axis]); ++ if (!atom) /* Should not happen */ ++ continue; ++ ++ atoms[pEVTouch->axis_map[axis]] = atom; ++ } ++#endif ++} + + + static Bool +@@ -585,6 +718,7 @@ + DBGOUT(2, "EVTouch: %s\n", __FUNCTION__); + LocalDevicePtr local = (LocalDevicePtr) dev->public.devicePrivate; + EVTouchPrivatePtr priv = (EVTouchPrivatePtr) (local->private); ++ Atom *labels, *atoms; + unsigned char map[EV_MAX_BUTTONS]; + int i; + +@@ -593,7 +727,7 @@ + + priv->btn_count = EV_MAX_BUTTONS; + +- /* ++ /* + * these have to be here instead of in the SetupProc, because when the + * SetupProc is run at server startup, screenInfo is not setup yet + */ +@@ -603,9 +737,9 @@ + priv->screen_height = pScrn->virtualY; + priv->pViewPort_X0 = &(pScrn->frameX0); /* initialize the pointers to the viewport coords */ + if ( (priv->screen_width != priv->phys_width) || +- (priv->screen_height != priv->phys_height) ) ++ (priv->screen_height != priv->phys_height) ) + priv->virtual = 1; +- else ++ else + priv->virtual = 0; + + priv->pViewPort_Y0 = &(pScrn->frameY0); +@@ -620,24 +754,29 @@ + DBGOUT(2, "EVTouch: MaxValue H,V: %d %d\n", pScrn->maxHValue, pScrn->maxVValue); + + priv->screen_width = screenInfo.screens[priv->screen_num]->width; +- priv->screen_height = screenInfo.screens[priv->screen_num]->height; ++ priv->screen_height = screenInfo.screens[priv->screen_num]->height; + +- /* ++ /* + * Device reports button press for 5 buttons. + */ +- if (InitButtonClassDeviceStruct (dev, EV_MAX_BUTTONS, map) == FALSE) ++ labels = EvtouchInitButtonLabels(); ++ if (InitButtonClassDeviceStruct (dev, EV_MAX_BUTTONS, ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 ++ labels, ++#endif ++ map) == FALSE) + { + ErrorF("Unable to allocate EVTouch touchscreen ButtonClassDeviceStruct\n"); + return BadAlloc; +- } ++ } + +- DBGOUT(2, "EVTouch: %s btn_count=%d\n", __FUNCTION__, ++ DBGOUT(2, "EVTouch: %s btn_count=%d\n", __FUNCTION__, + priv->btn_count); + priv->btn_actions = xcalloc(priv->btn_count, sizeof(BtnAction)); +- memset(priv->btn_actions, 0, ++ memset(priv->btn_actions, 0, + priv->btn_count * sizeof(BtnAction)); +- +- DBGOUT(2, "EVTouch: %s btn_count=%d\n", __FUNCTION__, ++ ++ DBGOUT(2, "EVTouch: %s btn_count=%d\n", __FUNCTION__, + priv->btn_count); + + if (InitFocusClassDeviceStruct(dev) == FALSE) { +@@ -645,13 +784,18 @@ + return !Success; + } + +- /* ++ /* + * Device reports motions on 2 axes in absolute coordinates. + * Axes min and max values are reported in raw coordinates. + */ ++ atoms = xalloc(2 * sizeof(Atom)); ++ EvtouchInitAxesLabels(priv, 2, atoms); ++ + if (InitValuatorClassDeviceStruct(dev, 2, + #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 0 + xf86GetMotionEvents, ++#elif GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7 ++ atoms, + #endif + local->history_size, Absolute) == FALSE) + { +@@ -660,12 +804,20 @@ + } + + #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 ++ atoms[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 ++ atoms[1], ++#endif ++ 0, priv->screen_height, + 1024, + EV_AXIS_MIN_RES /* min_res */ , + EV_AXIS_MAX_RES /* max_res */ ); +@@ -682,7 +834,6 @@ + priv->raw_y=priv->cur_y; + libtouchSetPos(priv->libtouch, priv->cur_x, priv->cur_y); + +- + if (InitProximityClassDeviceStruct (dev) == FALSE) + { + ErrorF ("Unable to allocate EVTouch touchscreen ProximityClassDeviceStruct\n"); +@@ -695,7 +846,7 @@ + return !Success; + } + +- /* ++ /* + * Allocate the motion events buffer. + */ + xf86MotionHistoryAllocate (local); +@@ -765,7 +916,7 @@ + if (sizeof(priv->ev) == count) { + count = 0; + EVTouchDumpPacketToLog(priv); +- ++ + return Success; + } + } +Index: xserver-xorg-input-evtouch/evtouch.h +=================================================================== +--- xserver-xorg-input-evtouch.orig/evtouch.h 2010-02-14 14:01:43.000000000 +0900 ++++ xserver-xorg-input-evtouch/evtouch.h 2010-02-14 14:08:34.000000000 +0900 +@@ -35,6 +35,22 @@ + #define DBGOUT(lvl, ...) + #endif + ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 3 ++#define HAVE_PROPERTIES 1 ++ ++/* 1.6 has properties, but no labels */ ++#ifdef AXIS_LABEL_PROP ++#define HAVE_LABELS ++#else ++#undef HAVE_LABELS ++#endif ++ ++#endif ++ ++#define LONG_BITS (sizeof(long) * 8) ++/* Number of longs needed to hold the given number of bits */ ++#define NLONGS(x) (((x) + LONG_BITS - 1) / LONG_BITS) ++ + /****************************************************************************** + * Definitions + * structs, typedefs, #defines, enums +@@ -52,6 +68,10 @@ + + #define EV_MAX_BUTTONS 5 + ++#define EVTOUCH_BUTTON_EVENTS 0x01 ++#define EVTOUCH_RELATIVE_EVENTS 0x02 ++#define EVTOUCH_ABSOLUTE_EVENTS 0x04 ++ + #define TOUCHED 0x01 + #define X_COORD 0x02 + #define Y_COORD 0x04 +@@ -80,6 +100,8 @@ + int min_rel_y; /* Minimum y reported by calibration */ + int max_rel_y; /* Maximum y */ + ++ int axis_map[max(ABS_CNT, REL_CNT)]; /* Map evtouch to index */ ++ + int drag_timer; + Bool emulate3; + int emulate3_timeout; +@@ -129,10 +151,10 @@ + int screen_num; /* Screen associated with the device */ + int screen_width; /* Width of the associated X screen */ + int screen_height; /* Height of the screen */ +- ++ + XISBuffer *buffer; + struct input_event ev; /* packet being/just read */ +- ++ + int packeti; /* index into packet */ + Bool cs7flag; + Bool binary_pkt; /* indicates packet was a binary touch */ +@@ -141,6 +163,16 @@ + + LibTouchRecPtr libtouch; + LocalDevicePtr local; ++ ++ /* Cached info from device. */ ++ int flags; ++ int num_buttons; ++ char name[1024]; ++ unsigned long bitmask[NLONGS(EV_CNT)]; ++ unsigned long key_bitmask[NLONGS(KEY_CNT)]; ++ unsigned long rel_bitmask[NLONGS(REL_CNT)]; ++ unsigned long abs_bitmask[NLONGS(ABS_CNT)]; ++ + } EVTouchPrivateRec, *EVTouchPrivatePtr; + + diff --git a/recipes/xorg-driver/xf86-input-evtouch/20_fix_calibrate_submission_directions.patch b/recipes/xorg-driver/xf86-input-evtouch/20_fix_calibrate_submission_directions.patch deleted file mode 100644 index 68950a4ca3..0000000000 --- a/recipes/xorg-driver/xf86-input-evtouch/20_fix_calibrate_submission_directions.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: xf86-input-evtouch-0.8.8/calibrate.sh -=================================================================== ---- xf86-input-evtouch-0.8.8.orig/calibrate.sh 2009-01-14 14:14:10.000000000 +0100 -+++ xf86-input-evtouch-0.8.8/calibrate.sh 2009-01-14 14:14:51.000000000 +0100 -@@ -25,7 +25,7 @@ - FAILINFO="No evtouch capable device found, if you are sure you have \n\ - an evtouch capable touchscreen, please mail the \ - resulting file of the command \"lshal > evtouch_hal.out\" to the\n\ --ubuntu-mobile@lists.ubuntu.com mailing list, so support for your \ -+bug url https://bugs.launchpad.net/bugs/317094, so support for your \ - device can be added." - - if [ -z "$UDI" ];then diff --git a/recipes/xorg-driver/xf86-input-evtouch/21_more_calibration_fixups.patch b/recipes/xorg-driver/xf86-input-evtouch/21_more_calibration_fixups.patch deleted file mode 100644 index abb9e51a49..0000000000 --- a/recipes/xorg-driver/xf86-input-evtouch/21_more_calibration_fixups.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff -u xf86-input-evtouch-0.8.8/evtouch.c xf86-input-evtouch-0.8.8/evtouch.c ---- xf86-input-evtouch-0.8.8/evtouch.c -+++ xf86-input-evtouch-0.8.8/evtouch.c -@@ -305,7 +305,7 @@ - } - - 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, -@@ -369,7 +369,7 @@ - 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, -diff -u xf86-input-evtouch-0.8.8/debian/changelog xf86-input-evtouch-0.8.8/debian/changelog ---- xf86-input-evtouch-0.8.8.orig/ev_calibrate.c -+++ xf86-input-evtouch-0.8.8/ev_calibrate.c -@@ -218,7 +218,7 @@ - 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/recipes/xorg-driver/xf86-input-evtouch/fdi/50-elo-2700.fdi b/recipes/xorg-driver/xf86-input-evtouch/fdi/50-elo-2700.fdi new file mode 100644 index 0000000000..d274a54f72 --- /dev/null +++ b/recipes/xorg-driver/xf86-input-evtouch/fdi/50-elo-2700.fdi @@ -0,0 +1,16 @@ + + + + + + evtouch + 130 + 197 + 3945 + 3894 + 1 + 1 + + + + diff --git a/recipes/xorg-driver/xf86-input-evtouch/fdi/50-gunze.fdi b/recipes/xorg-driver/xf86-input-evtouch/fdi/50-gunze.fdi new file mode 100644 index 0000000000..3a5f49cb03 --- /dev/null +++ b/recipes/xorg-driver/xf86-input-evtouch/fdi/50-gunze.fdi @@ -0,0 +1,16 @@ + + + + + + evtouch + Raw + false + 1 + 35 + 37 + 990 + 986 + + + \ No newline at end of file diff --git a/recipes/xorg-driver/xf86-input-evtouch/fdi/50-ideaco-idc6681.fdi b/recipes/xorg-driver/xf86-input-evtouch/fdi/50-ideaco-idc6681.fdi new file mode 100644 index 0000000000..390f3bc652 --- /dev/null +++ b/recipes/xorg-driver/xf86-input-evtouch/fdi/50-ideaco-idc6681.fdi @@ -0,0 +1,23 @@ + + + + + + + + evtouch + raw + 50 + 30 + 15 + true + 50 + 1100 + 1650 + 7220 + 6560 + + + + + diff --git a/recipes/xorg-driver/xf86-input-evtouch/fdi/50-touchpack.fdi b/recipes/xorg-driver/xf86-input-evtouch/fdi/50-touchpack.fdi new file mode 100644 index 0000000000..cb14eeba48 --- /dev/null +++ b/recipes/xorg-driver/xf86-input-evtouch/fdi/50-touchpack.fdi @@ -0,0 +1,30 @@ + + + + + + evtouch + raw + false + 50 + true + 4095 + 4095 + 21 + 0 + false + false + false + 30 + 750 + click + 3 + 2 + 10 + 1 + click + 1 + + + + diff --git a/recipes/xorg-driver/xf86-input-evtouch/xf86-input-evtouch_0.8.8-0ubuntu6.diff b/recipes/xorg-driver/xf86-input-evtouch/xf86-input-evtouch_0.8.8-0ubuntu6.diff deleted file mode 100644 index abe5b8f4ba..0000000000 --- a/recipes/xorg-driver/xf86-input-evtouch/xf86-input-evtouch_0.8.8-0ubuntu6.diff +++ /dev/null @@ -1,4210 +0,0 @@ ---- xf86-input-evtouch-0.8.8.orig/evtouch.c -+++ xf86-input-evtouch-0.8.8/evtouch.c -@@ -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 @@ - "Kenan Esau", - MODINFOSTRING1, - MODINFOSTRING2, -- XF86_VERSION_CURRENT, -+ XORG_VERSION_CURRENT, - 0, 8, 8, - ABI_CLASS_XINPUT, - ABI_XINPUT_VERSION, -@@ -653,14 +652,13 @@ - * 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) - { - 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, - 1024, - EV_AXIS_MIN_RES /* min_res */ , -@@ -671,10 +669,6 @@ - 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; ---- xf86-input-evtouch-0.8.8.orig/debian/changelog -+++ xf86-input-evtouch-0.8.8/debian/changelog -@@ -0,0 +1,259 @@ -+xf86-input-evtouch (0.8.8-0ubuntu6) karmic; urgency=low -+ -+ * Add debian/fdi/50-touchpack.fdi to support TouchPack touchscreen devices -+ (Clevo TN120 series, ASUS EeeTOP, Winux Tablet, ...) -+ (LP: #401039) -+ -+ -- Mirsal Ennaime Sat, 24 Oct 2009 18:10:18 +0200 -+ -+xf86-input-evtouch (0.8.8-0ubuntu5) karmic; urgency=low -+ -+ * control: Add dependencies for ttf-freefont and x-ttcidfont-conf. -+ These dependencies are required by one of the earlier patches. -+ (LP: #299178) -+ * Add debian/fdi/50-elo-2700.fdi to support EloTouch 2700 IntelliTouch -+ Touchmonitor Interface. -+ (LP: #362308) -+ * Add debian/fdi/50-gunze.fdi to support GUNZE USB Touch Panel -+ (LP: #368135) -+ -+ -- Bryce Harrington Wed, 14 Oct 2009 02:10:14 -0700 -+ -+xf86-input-evtouch (0.8.8-0ubuntu4) karmic; urgency=low -+ -+ * Add debian/fdi/50-ideaco-idc6681.fdi to support IDEACO IDC 6681 -+ touchscreen. -+ (LP: #378357) -+ -+ -- Bryce Harrington Wed, 14 Oct 2009 01:35:50 -0700 -+ -+xf86-input-evtouch (0.8.8-0ubuntu3) jaunty; urgency=low -+ -+ * 21_more_calibration_fixups.patch: Make calibration work on xserver-1.6 -+ -+ -- Thomas Jaeger Sun, 22 Mar 2009 20:58:58 -0400 -+ -+xf86-input-evtouch (0.8.8-0ubuntu2) jaunty; urgency=low -+ -+ * install fdi files to /usr/share/hal/fdi/policy/20thirdparty so we make -+ sure its not synaptics that gets used. -+ -+ -- Oliver Grawert Wed, 28 Jan 2009 16:17:39 +0100 -+ -+xf86-input-evtouch (0.8.8-0ubuntu1) jaunty; urgency=low -+ -+ * New upstream release, packaged by Thomas Jaeger (ThJaeger@gmail.com) -+ Thanks a lot for fixing the header issues !! (LP: #312098) -+ - fix rotation issues (LP: #222164) -+ * 20_fix_calibrate_submission_directions.patch, point lshal submission to a -+ LP bug instead of pointing people to a subscription only -+ mailing list (LP: #307503) -+ -+ -- Oliver Grawert Wed, 14 Jan 2009 14:04:58 -0500 -+ -+xf86-input-evtouch (0.8.7-4build2) jaunty; urgency=low -+ -+ * Rebuild against the new xserver. -+ -+ -- Timo Aaltonen Mon, 15 Dec 2008 11:49:43 +0200 -+ -+xf86-input-evtouch (0.8.7-4build1) intrepid; urgency=low -+ -+ * Rebuild due to x11proto-input fix in 283921 -+ -+ -- Bryce Harrington Sat, 18 Oct 2008 01:45:02 -0700 -+ -+xf86-input-evtouch (0.8.7-3ubuntu12) intrepid; urgency=low -+ -+ * add more touchscreen .fdi files -+ * install all touchscreen .fdi files to /usr/share/hal/fdi/policy/10osvendor -+ with sequence number 50 so they will override evdev and mouse settings -+ -+ -- Oliver Grawert Thu, 16 Oct 2008 01:50:09 +0200 -+ -+xf86-input-evtouch (0.8.7-3ubuntu11) intrepid; urgency=low -+ -+ * fix .fdi install location to make sure hal doesnt prefer mouse settings -+ for evtouch devices -+ -+ -- Oliver Grawert Mon, 29 Sep 2008 22:39:37 +0200 -+ -+xf86-input-evtouch (0.8.7-3ubuntu10) intrepid; urgency=low -+ -+ * update halification patch of calibration script to make sure it doesnt -+ fire if no evtouch capable device is in hal. -+ * add .fdi file for Fujitsu lifebook (and other Fujitsu driven touchscreen -+ devices with Fujitsu USB Touch Panel). -+ * add sane defaults to ideaco and eGalax fdi files. -+ * add selection of dialog frontends to show the info in X. -+ * move zenity to recommends, add xdialog and kdebase-bin (for kdialog) as -+ different dialog options. -+ -+ -- Oliver Grawert Thu, 25 Sep 2008 19:57:51 +0200 -+ -+xf86-input-evtouch (0.8.7-3ubuntu9) intrepid; urgency=low -+ -+ * quieten down initscript a bit (we dont want a newline for each applied -+ value on screen) -+ * call initscript at end of calibration, so new values are applied without -+ having to restart the system. -+ -+ -- Oliver Grawert Thu, 25 Sep 2008 13:27:41 +0200 -+ -+xf86-input-evtouch (0.8.7-3ubuntu8) intrepid; urgency=low -+ -+ * add 09_calibrate-script-halification.patch, adds hal functionallity to -+ calibration tool, makes the script work under X and gives useful output -+ through zenity dialogs -+ * add 10_ev_calibrate_fixups.patch, fix ev_calibrate.c to use a useful font -+ in calibration, make it write to /etc/evtouch/config in a format that can -+ be parsed by the evtouch hal-set-property initscript -+ * add calibrate.desktop and calibrate icon file (uuencoded), add sharutils -+ to build-deps -+ * make sure /etc/evtouch dir is created by the package so ev_calibrate can -+ write its config there. -+ * add hal to dependencies, zenity to suggests -+ * add xserver-xorg-input-evtouch initscript to apply calibration data on -+ system boot via hal-set-property -+ * include .fdi files for ideaco and eGalax touchscreens (hopefully there -+ will be more soon) -+ * closes (LP: #261873) -+ -+ -- Oliver Grawert Thu, 25 Sep 2008 00:54:44 +0200 -+ -+xf86-input-evtouch (0.8.7-3ubuntu7) intrepid; urgency=low -+ -+ * add CURSORDIR to debian/rules to make calibration tool work -+ * link calibration tools to /usr/bin so the low level calibration tools work -+ on a basic level -+ -+ -- Oliver Grawert Wed, 24 Sep 2008 13:27:49 +0200 -+ -+xf86-input-evtouch (0.8.7-3ubuntu6) intrepid; urgency=low -+ -+ * add libtouch.c to 08_fix_xf86memset.patch. (LP: #254848) -+ -+ -- Timo Aaltonen Thu, 07 Aug 2008 11:36:17 +0300 -+ -+xf86-input-evtouch (0.8.7-3ubuntu5) intrepid; urgency=low -+ -+ * add 08_fix_xf86memset.patch, fixes (LP: #254848) -+ -+ -- Oliver Grawert Tue, 05 Aug 2008 17:46:19 +0200 -+ -+xf86-input-evtouch (0.8.7-3ubuntu4) intrepid; urgency=low -+ -+ * Uh, ok. Don't apply 04_include_xf86_ansic_h.patch. (FTBFS) -+ -+ -- Timo Aaltonen Tue, 08 Jul 2008 14:22:13 +0300 -+ -+xf86-input-evtouch (0.8.7-3ubuntu3) intrepid; urgency=low -+ -+ * libtouch.c: don't #include . It is no more. (FTBFS) -+ -+ -- Timo Aaltonen Tue, 08 Jul 2008 14:13:32 +0300 -+ -+xf86-input-evtouch (0.8.7-3ubuntu2) intrepid; urgency=low -+ -+ * Rebuild against the new xserver-xorg-dev. -+ -+ -- Timo Aaltonen Mon, 07 Jul 2008 17:44:38 +0300 -+ -+xf86-input-evtouch (0.8.7-3ubuntu1) hardy; urgency=low -+ -+ * Merge from debian unstable, remaining changes: (LP: #190004) -+ - Change maintainer address. -+ - Change the default font from helvetica to fixed. -+ * Drop Pepper/Q1 patch, upstream has a slightly different fix -+ * Upstream includes fix for running on amd64 (LP: #155880) -+ -+ -- Steve Magoun Thu, 07 Feb 2008 14:09:00 -0500 -+ -+xf86-input-evtouch (0.8.7-3) unstable; urgency=low -+ -+ * work(!!!!) with xserver-xorg-core 1.4 -+ * added xf86-input-evtouch-0.8.7-misc.patch from -+ http://www.postnuklear.de/xorg-patches/ (Closes: #443726) -+ * bump Standards-Version to 3.7.3 -+ * use Vcs and Homepage headers in debian/control -+ -+ -- Mattia Dongili Sat, 02 Feb 2008 21:32:15 +0900 -+ -+xf86-input-evtouch (0.8.7-2ubuntu1) hardy; urgency=low -+ -+ * Merge from debian unstable, remaining changes: -+ - Change maintainer address. -+ - Add patch from Pepper to handle the touch screen on the Samsung Q1 -+ Ultra correctly. -+ - Change the default font from helvetica to fixed. -+ -+ -- Timo Aaltonen Tue, 13 Nov 2007 10:53:54 +0200 -+ -+xf86-input-evtouch (0.8.7-2) unstable; urgency=low -+ -+ * build with xserver-xorg-core 1.4 -+ -+ -- Mattia Dongili Mon, 17 Sep 2007 16:52:54 +0900 -+ -+xf86-input-evtouch (0.8.7-1) unstable; urgency=low -+ -+ * New upstream release: -+ - Added "fix" for AMD64-crashes on touch (Closes: #431925) -+ * updated xsfbs -+ * removed 03_fix_compile_warns.patch applied upstream -+ -+ -- Mattia Dongili Tue, 11 Sep 2007 22:42:32 +0900 -+ -+xf86-input-evtouch (0.8.6-1ubuntu1) gutsy; urgency=low -+ -+ * Add patch from Pepper to handle the touch screen on the Samsung Q1 -+ Ultra correctly. -+ * Change the default font from helvetica to fixed. -+ -+ -- Tollef Fog Heen Wed, 11 Jul 2007 18:52:09 +0200 -+ -+xf86-input-evtouch (0.8.6-1) unstable; urgency=low -+ -+ * New upstream release: -+ - Fixed classic rotation (Closes: #417546) -+ * removed 04_fix_segv_on_device_off.patch, applied upstream -+ * updated evtouch.html -+ -+ -- Mattia Dongili Sat, 16 Jun 2007 14:31:58 +0900 -+ -+xf86-input-evtouch (0.8.5-3) unstable; urgency=low -+ -+ * Use xsfbs to get xserver dependencies automatically. -+ -+ -- Mattia Dongili Sun, 10 Jun 2007 10:44:51 +0900 -+ -+xf86-input-evtouch (0.8.5-2) unstable; urgency=low -+ -+ * Fix SEGV on vt switch (DeviceClose actually). -+ -+ -- Mattia Dongili Wed, 30 May 2007 15:55:59 +0900 -+ -+xf86-input-evtouch (0.8.5-1) unstable; urgency=low -+ -+ * New upstream release. -+ -+ -- Mattia Dongili Fri, 11 May 2007 18:28:41 +0900 -+ -+xf86-input-evtouch (0.8.3-1) unstable; urgency=low -+ -+ * New upstream release. -+ -+ -- Mattia Dongili Mon, 19 Feb 2007 12:34:26 +0100 -+ -+xf86-input-evtouch (0.8.2-1) unstable; urgency=low -+ -+ * New upstream release. -+ -+ -- Mattia Dongili Sat, 03 Feb 2007 20:14:40 +0100 -+ -+xf86-input-evtouch (0.8.1-1) unstable; urgency=low -+ -+ * Initial release. (Closes: #404932) -+ -+ -- Mattia Dongili Fri, 29 Dec 2006 15:01:18 +0100 -+ ---- xf86-input-evtouch-0.8.8.orig/debian/xserver-xorg-input-evtouch.links -+++ xf86-input-evtouch-0.8.8/debian/xserver-xorg-input-evtouch.links -@@ -0,0 +1,2 @@ -+usr/lib/xf86-input-evtouch/ev_calibrate usr/bin/ev_calibrate -+/usr/lib/xf86-input-evtouch/calibrate.sh usr/bin/calibrate_touchscreen ---- xf86-input-evtouch-0.8.8.orig/debian/copyright -+++ xf86-input-evtouch-0.8.8/debian/copyright -@@ -0,0 +1,34 @@ -+This package was debianized Mattia Dongili based on the work -+by Rex Tsai on Sun, 03 Dec 2006 18:53:48 +0100. -+ -+It was downloaded from http://www.stz-softwaretechnik.com/~ke/touchscreen/evtouch.html -+ -+Upstream Author: Kenan Esau -+ -+Copyright: 2004-2006 Kenan Esau , Baltmannsweiler, Germany. -+ -+License: -+ -+ Permission to use, copy, modify, distribute, and sell this software and its -+ documentation for any purpose is hereby granted without fee, provided that -+ the above copyright notice appear in all copies and that both that -+ copyright notice and this permission notice appear in supporting -+ documentation, and that the names of copyright holders not be -+ used in advertising or publicity pertaining to distribution of the -+ software without specific, written prior permission. The copyright holders -+ make no representations about the suitability of this -+ software for any purpose. It is provided "as is" without express or -+ implied warranty. -+ -+ THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS -+ SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -+ FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY -+ SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER -+ RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF -+ CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN -+ CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -+ -+ -+The Debian packaging is (C) 2006, Mattia Dongili and -+is licensed under the GPL, see `/usr/share/common-licenses/GPL'. -+ ---- xf86-input-evtouch-0.8.8.orig/debian/calibrate.desktop -+++ xf86-input-evtouch-0.8.8/debian/calibrate.desktop -@@ -0,0 +1,12 @@ -+[Desktop Entry] -+Name=Calibrate Touchscreen -+Name[de]=Touchscreen Kalibrieren -+Comment=Run the touchscreen calibration tool -+Encoding=UTF-8 -+Exec=gksu /usr/bin/calibrate_touchscreen -+Terminal=false -+Type=Application -+Icon=calibrate.png -+StartupNotify=true -+Categories=GTK;System;Settings; -+X-Ubuntu-Gettext-Domain=evtouch ---- xf86-input-evtouch-0.8.8.orig/debian/calibrate.uuencode -+++ xf86-input-evtouch-0.8.8/debian/calibrate.uuencode -@@ -0,0 +1,50 @@ -+begin 644 calibrate.uunecode -+MB5!.1PT*&@H````-24A$4@```"0````D"`8```#A`)B8`````7-21T(`KLX< -+MZ0````9B2T=$`/\`_P#_H+VGDP````EP2%ES```-UP``#=`````=T -+M24U%!]@)&!(8$5T-YE8```>]241!5%C#[9AMC%Q5&<=_YYX[.UOF95^Z[Z7; -+M+K2496'9I=)`1&RD#29H\04,B5\$/_C!^(&HI89$HX&LA*CPP=<0$WQ!H@E& -+M_62,"9(B+QL+0FB`LD5IR]ANNVQG=F;NO>>>\_CASLS.6Y<:$S]YDY-S9^:< -+M\_S/\_R?Y_S/P/^?C1\%\.V''D@KS[NWKZ]OO_9T^G\)P#H7%(OGGW'.?>?0 -+MP?O+:N&A!U5O;^_//_ZQ`Y^]=,M6E/KO#(C(?SQ^966%W_W^MW\X?[YTNZ\4 -+M4]?.7GO7^-@8E+K$TSF'B`,4GN=U'7,A&OSQ\!N4*E'S(.UWVY-UR0Z>?^9/W'#S -+M_LX=-X$Y<^IM@FJ%@>$),MD\VO>[@NI*:)':FHUU50>@.+:4*P&GWCG.3Q]] -+M@,&1+6R=VMEUP=@8",\ST7\)KRT=8V+R,K*Y/KP+A;S#ENO@5L=,8QTGWODG -+M3S[V"-5*F2X1"H4`E,"VM7(U8JP3TYS+LVC'%/XZ]SKFSYU@K!QUC+]1, -+M[#KXZ".MH$SLR`R.U^[F[H,/`U`)30N/1(0X,N0&,UQ^V10KRP7> -+M6WV/=&Z0E)4+L5(H(Q -+M%G%"?W\_FICE,P7\=(;T)1E2J32>]O&TCU+)GBM!Q.I:0+$<4`X,[Q96VSF$ -+MWUY78NNH-GG#\Q1*>0T@":@Z>(=U#JTUD^-#[)Z;8F1D,X\_\6MT;S^YD6WX -+MV2%*DC-6,-81Q99J -+MI80)R@#TY;-\ZO;;.'#;K6P=SO&CA^_G^JD,B\\]S=+2,$F(KB5>:/6.%R$H-5#*F>.8$G[CU -+MPVBM$1%&1D8(PQ`1H:^O#VLM0T-#7#TSPS?O_PHCJ2)1Z2Q(G(#2&N5UEGZO -+M_1RRSC7"E8`23+TYP3@(8X<+2URY:[T^34]/8ZU%1.CM[<48@]::OKX^E%+L -+MVC9"M'8.92,\3Z.UQE->1['UVN-H71*BR"2>,34/&2?$%HQ-2D"V5Y//YS$F -+M(>;,S`SCX^.("/OW[R>52N'[/G-S`Z4!:4$4(AS#$NYD?[U+*VWT='1QM$R/S^/9D;;]C3XJ$Z=XPQ&&,(PY`P#'GSK>-4C$>J -+M%!)($92F6@D[-MT":.?D((_>^Y$-%:%(8K"\=AE_?^55;KQA3X/<(D(410T0 -+M01`011%!$'#JY`GNW'(#5T^2R^5J!ZYT"YF4PC"@ -+MM[<7:^T%O=(.,)U.,SL[R^'#A]F[=V\+D&9@QA@6%Q?9O'DSHZ-CY//];-K4 -+MVU*#/$_7^;CF@WKEQ<47GR@4"G=JK5,;Z>?VU(["B-=>.\K.E]Q>_"PH(&>''Q^0>G -+MIZ^ZK[^O/RG[GH>(4"P6V;9M.[.SLX@(U6JU`:P.:&%AH7#TZ-&#F4SF+WOV -+M[#F];]\^VW9YD$.'#CF`B[X6WO/YS_WJ0S?=?%?.G:-0*+"Z -+MNHKOITBGTPV2ETHECKQTY-5G#S][#_`&L+;11[YG?/3\P/#QT -+MQ_C8Q*=G9F9J@FV]%'B>PMK+,2:B7"Y3K08-+BH%J52*;=NW7CDW/_O!(T=> -+M/O7"BU^$A70.9^NI]7]ZW96+BA]EL;G!L;*QG^LKIFM3H?E.L -+M>Z0.QKEU76UMS.MOO,Z9,Z>K:^7RJ>-+2U_\P?=_O`@8(`+BI+BM>TC5WGN` -+M'J54S_C8V-=O/_#)L;H>WOC2)XWOM>[F]#37S>\&V.1$=CSUU&^^!=Q1`^/7 -+M>@,8O^T848":F!COR>5RVS.92][_FGQ1_P.T?L[G\SN'AX=ZEI?/QC6[#=M^ -+MT^JF;B6.8[V\O/SRSW[Q>%X$!:)$1+6^"P@UN=^P6#MSE:C$[Z)00DUE**5$ -+MH20R45$I%0!A6]BD6P#JB/TZGYK>=5/SVG;7[#K7U.H$CIMZ4^OC)G)SL6FO -+GFHRV@U`=>F4]<^K`V@'*1O'^-VN3A-O<,!`M`````$E%3D2N0F"" -+` -+end ---- xf86-input-evtouch-0.8.8.orig/debian/xserver-xorg-input-evtouch.dirs -+++ xf86-input-evtouch-0.8.8/debian/xserver-xorg-input-evtouch.dirs -@@ -0,0 +1 @@ -+etc/evtouch ---- xf86-input-evtouch-0.8.8.orig/debian/xserver-xorg-input-evtouch.init -+++ xf86-input-evtouch-0.8.8/debian/xserver-xorg-input-evtouch.init -@@ -0,0 +1,59 @@ -+#!/bin/sh -+ -+[ -x /usr/bin/hal-set-property ] || exit 0 -+[ -x /usr/bin/hal-find-by-property ] || exit 0 -+ -+. /etc/evtouch/config > /dev/null 2>&1 || exit 0 -+ -+do_start() { -+ UDI=$(/usr/bin/hal-find-by-property --key input.x11_driver --string evtouch) -+ -+ hal_set () { -+ if [ -n "$2" ]; then -+ /usr/bin/hal-set-property --udi "$UDI" --key input.x11_options.$1 --string "$2" >/dev/null 2>&1 -+ else -+ /usr/bin/hal-set-property --udi "$UDI" --key input.x11_options.$1 --remove >/dev/null 2>&1 -+ fi -+ } -+ -+ hal_set minx $MINX -+ hal_set miny $MINY -+ hal_set maxx $MAXX -+ hal_set maxy $MAXY -+ hal_set x0 $X0 -+ hal_set y0 $Y0 -+ hal_set x1 $X1 -+ hal_set y1 $Y1 -+ hal_set x2 $X2 -+ hal_set y2 $Y2 -+ hal_set x3 $X3 -+ hal_set y3 $Y3 -+ hal_set x4 $X4 -+ hal_set y4 $Y4 -+ hal_set x5 $X5 -+ hal_set y5 $Y5 -+ hal_set x6 $X6 -+ hal_set y6 $Y6 -+ hal_set x7 $X7 -+ hal_set y7 $Y7 -+ hal_set x8 $X8 -+ hal_set y8 $Y8 -+} -+ -+case "$1" in -+ start|"") -+ do_start -+ ;; -+ restart|reload|force-reload) -+ echo "Error: argument '$1' not supported" >&2 -+ exit 3 -+ ;; -+ stop) -+ # No-op -+ ;; -+ *) -+ echo "Usage: evtouch [start|stop]" >&2 -+ exit 3 -+ ;; -+esac -+ ---- xf86-input-evtouch-0.8.8.orig/debian/rules -+++ xf86-input-evtouch-0.8.8/debian/rules -@@ -0,0 +1,85 @@ -+#!/usr/bin/make -f -+# -*- makefile -*- -+ -+# Uncomment this to turn on verbose mode. -+#export DH_VERBOSE=1 -+include debian/xsfbs/xsfbs.mk -+ -+PACKAGE=xserver-xorg-input-evtouch -+ -+CFLAGS = -Wall -g -+ -+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) -+ CFLAGS += -O0 -+else -+ CFLAGS += -O2 -+endif -+ -+configure: configure-stamp -+configure-stamp: patch -+ dh_testdir -+ # Add here commands to configure the package. -+ -+ CURSORDIR=/usr/share/xf86-input-evtouch ./configure --prefix=/usr --enable-evcalibrate -+ touch configure-stamp -+ -+build: build-stamp -+ -+build-stamp: configure-stamp -+ dh_testdir -+ -+ # Add here commands to compile the package. -+ $(MAKE) CFLAGS="$(CFLAGS)" -+ #docbook-to-man debian/evtouch.sgml > evtouch.1 -+ -+ touch $@ -+ -+clean: xsfclean clean-patched unpatch -+clean-patched: -+ dh_testdir -+ dh_testroot -+ rm -f build-stamp configure-stamp -+ -+ # Add here commands to clean up after the build process. -+ [ ! -f Makefile ] || $(MAKE) distclean -+ -+ dh_clean -+ -+install: build -+ dh_testdir -+ dh_testroot -+ dh_clean -k -+ dh_installdirs -+ -+ # Add here commands to install the package into debian/tmp -+ $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp -+ -+ -+# Build architecture-independent files here. -+binary-indep: build install -+# We have nothing to do by default. -+ -+# Build architecture-dependent files here. -+binary-arch: build install serverabi -+ dh_testdir -+ dh_testroot -+ dh_install --sourcedir=debian/tmp --list-missing --exclude=.la --exclude=.a -+ dh_installchangelogs ChangeLog -+ dh_installdocs -+ dh_installexamples -+ dh_installman -+ mkdir -p debian/xserver-xorg-input-evtouch/usr/share/pixmaps -+ uudecode -o debian/xserver-xorg-input-evtouch/usr/share/pixmaps/calibrate.png debian/calibrate.uuencode -+ dh_installinit -a --no-start -u"start 25 2 3 4 5 ." -+ dh_link -+ dh_strip -+ dh_compress -+ dh_fixperms -+ dh_installdeb -+ dh_shlibdeps -+ dh_gencontrol -+ dh_md5sums -+ dh_builddeb -+ -+binary: binary-indep binary-arch -+.PHONY: build clean binary-indep binary-arch binary install configure ---- xf86-input-evtouch-0.8.8.orig/debian/control -+++ xf86-input-evtouch-0.8.8/debian/control -@@ -0,0 +1,23 @@ -+Source: xf86-input-evtouch -+Section: x11 -+Priority: optional -+Maintainer: Ubuntu Developers -+XSBC-Original-Maintainer: Debian X Strike Force -+Uploaders: Mattia Dongili -+Build-Depends: debhelper (>= 5), pkg-config, xserver-xorg-dev (>= 2:1.4), x11proto-randr-dev, libxrender-dev, libx11-dev, quilt, sharutils -+Standards-Version: 3.7.3 -+Vcs-Git: git://git.debian.org/git/pkg-xorg/driver/xserver-xorg-input-evtouch -+Vcs-Browser: http://git.debian.org/?p=pkg-xorg/driver/xserver-xorg-input-evtouch.git -+Homepage: http://stz-softwaretechnik.com/~ke/touchscreen/evtouch.html -+ -+Package: xserver-xorg-input-evtouch -+Architecture: any -+Depends: ${shlibs:Depends}, ${xserver:Depends}, hal, ttf-freefont, x-ttcidfont-conf -+Provides: ${xinpdriver:Provides} -+Recommends: zenity | kdebase-bin | xidalog -+Description: Touchscreen-Driver for X.Org/XFree86 server -+ This XFree/X.Org driver provides support for touchscreens input devices. -+ The driver is actually an evdev-driver which supports events for moving -+ in absolute coordinates, relative coordinates and mouse-buttons. -+ . -+ ---- xf86-input-evtouch-0.8.8.orig/debian/README.Debian -+++ xf86-input-evtouch-0.8.8/debian/README.Debian -@@ -0,0 +1,16 @@ -+xf86-input-evtouch for Debian -+----------------------------- -+ -+Evtouch is a Touchscreen-Driver for X. -+ -+Be sure to calibrate the device and set correct parameters in your -+xorg.conf, see README.calibrate and find the necessary helpers -+in /usr/lib/xf86-input-evtouch. -+ -+A complete reference can be found on-line at -+http://www.stz-softwaretechnik.com/~ke/touchscreen/evtouch.html -+or in /usr/share/doc/xserver-xorg-input-evtouch on your system. -+ -+Check /proc/bus/input/devices to find out your touchscreen device. -+ -+ -- Mattia Dongili , Sat, 09 Dec 2006 18:26:37 +0100 ---- xf86-input-evtouch-0.8.8.orig/debian/xserver-xorg-input-evtouch.install -+++ xf86-input-evtouch-0.8.8/debian/xserver-xorg-input-evtouch.install -@@ -0,0 +1,4 @@ -+usr/lib/* -+usr/share/* -+../fdi/* usr/share/hal/fdi/policy/20thirdparty -+../calibrate.desktop usr/share/applications/ ---- xf86-input-evtouch-0.8.8.orig/debian/docs -+++ xf86-input-evtouch-0.8.8/debian/docs -@@ -0,0 +1,4 @@ -+README -+README.calibration -+TODO -+debian/evtouch.html ---- xf86-input-evtouch-0.8.8.orig/debian/compat -+++ xf86-input-evtouch-0.8.8/debian/compat -@@ -0,0 +1 @@ -+5 ---- xf86-input-evtouch-0.8.8.orig/debian/evtouch.html -+++ xf86-input-evtouch-0.8.8/debian/evtouch.html -@@ -0,0 +1,248 @@ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+Xorg Touchscreen Driver -+ -+ -+
-+Last updated: 09.06.2007 -+
-+

Linux-Touchscreen Driver for X

-+
-+Evtouch is a Touchscreen-Driver for X. This site contains the configuration and installation description as well as the -+possibility to download the driver. -+
-+

Installation/Configuration

-+
  1. -+
    -+Download the tarball and extract it to some -+temporary directory. -+
    -+
    tar xzvf evtouch-xx.yy.tar.gz
    -+
    -+Copy the file "evtouch_drv.so" to the appropriate location -+(Some distributions use "/usr/X11R6/lib/modules/input" or -+"/usr/lib/xorg/modules/input/" (for Ubuntu)). -+
    -+
    -+Insert the lines below to the file "/etc/X11/XF86Config-4" or -+"/etc/X11/xorg.conf". -+
    -+
    -+ -+Section "InputDevice"
    -+    Identifier "touchscreen"
    -+    Driver "evtouch"
    -+    Option "Device" "/dev/input/event1"
    -+    Option "DeviceName" "touchscreen"
    -+    Option "MinX" "98"
    -+    Option "MinY" "43"
    -+    Option "MaxX" "940"
    -+    Option "MaxY" "925"
    -+    Option "ReportingMode" "Raw"
    -+    Option "Emulate3Buttons"
    -+    Option "Emulate3Timeout" "50"
    -+    Option "SendCoreEvents" "On"
    -+EndSection
    -+
    -+
  2. Beware that some distributions use other names for the device. Some use -+"/dev/input/evdevX" and others use "/dev/input/eventX".
  3. -+
  4. Add the line below to the file "/etc/X11/XF86Config-4" or -+"/etc/X11/xorg.conf" to the section "ServerLayout".
    -+
    InputDevice "touchscreen" "CorePointer"
    -+
  5. -+
  6. -+If your Y-axis is interchanged you might have used the wrong -+event-device. Maybe you should try the next few event-devices -+(/dev/event[1-9]). -+
  7. -+
-+ -+
Since Xorg 7.2 there is always a default-mouse-pointer which will run simultaneously with evtouch if you do not prevent it from loading. It is extremely important that you add the following to your configuration. Otherwise you will get double click events and all kind of strange things.
-+ -+
    -+
  1. -+
    Add the following new input-device to your xorg.conf:
    -+
    -+Section "InputDevice"
    -+    Identifier "dummy"
    -+    Driver "void"
    -+    Option "Device" "/dev/input/mice"
    -+EndSection
    -+
    -+
  2. -+
  3. -+
    Add the following line your your "ServerLayout"-section:
    -+
    InputDevice "dummy"
    -+
  4. -+
-+ -+
-+Calibration is also supported since V0.6.0. You can also reuse your -+settings from the old driver for the 2.6 driver. Actually you only -+have to exchange the driver name in the "Inputdevice"-section from -+"lbtouch" to "evtouch" and change the "Device". -+
-+ -+

Button-Events

-+ -+
-+With the state-machine based code you can have the three types of button actions (button up, down, click) which are issued in different states of the state-machine. So the complete behaviour is configurable. -+
-+ -+
-+Have a look at Libtouch to see which default-actions are hard-coded in the driver and what you have to do to change the default-behaviour. -+
-+
-+ -+

Advanced Configuration

-+ -+

Changing Timers

-+ -+
-+If you are not confident with the default behaviour of your touchpanel you -+can configure certain timers which change its behaviour. -+
-+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+
Option Description Default-Value -+
TapTimer This timer starts when the state MAYBETAPPED is -+entered. When this timer expires a tap-event is issued and the state -+changes to UNTOUCHED. 200 ms
LongTouchTimer This timer is always started when the state TOUCHED -+is entered. When the timer expires before you untouch the screen again the -+state moves to LONGTOUCHED and on entering that state a longtouch-event is -+issued. 400 ms
Emulate3Buttons Enable emulation of three button support true -- enabled
Emulate3Timeout If both buttons are pressed/released before this timer -+expires a -+"middle press/release"-event is generated. This timer starts to run as soon as -+a button is pressed. 50 ms
MoveLimit If the pen moves out of this radius a "mouse-press"-event -+becomes impossible. 30 Pixels
Rotate There are two valid values:
-+ CW -- Rotate the screen clockwise
-+ CCW -- Rotate the screen counter-clockwise
-+ Everything else will be treated as "no rotation". -+
no rotation
SwapX This option is in the driver since V0.61. When set to 1 -+the X-axis is -+ swapped. This option is applied BEFORE the rotation-option. -+ false -- no swapping
SwapY This option is in the driver since V0.61. When set to 1 -+the Y-axis is -+ swapped. This option is applied BEFORE the rotation-option. -+ false -- no swapping
-+ -+
-+If you find bugs or if you have comment/wishes please send mail to lifebook@conan.de
-+ -+

Download

-+

Touchscreen-Driver for X

-+This driver should work for XFree 4.x and Xorg 6.8.x.
-+Have a look at the CHANGELOG.
-+V0.8.2 was removed since it was broken -- sorry for the inconvenience.

-+V0.8.4 contains udev-rules for dynamically creating a softlink to the "correct" device. Please feel free to add your rules to this file and send the patches to me.
-+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+
Precompiled driver for X V0.8.6evtouch-0.8.6.tar.gz
Precompiled driver for X V0.8.5evtouch-0.8.5.tar.gz
Precompiled driver for X V0.8.4evtouch-0.8.4.tar.gz
Precompiled driver for X V0.8.3evtouch-0.8.3.tar.gz
Precompiled driver for X V0.8.1evtouch-0.8.1.tar.gz
Precompiled driver for X V0.8.0evtouch-0.8.0.tar.gz
X driver sources V0.8.6xf86-input-evtouch-0.8.6.tar.bz2
X driver sources V0.8.5xf86-input-evtouch-0.8.5.tar.bz2
X driver sources V0.8.4xf86-input-evtouch-0.8.4.tar.bz2
X driver sources V0.8.3xf86-input-evtouch-0.8.3.tar.bz2
X driver sources V0.8.1xf86-input-evtouch-0.8.1.tar.bz2
X driver sources V0.8.0evtouch-0.8.0-src.tar.gz
-+Older (obsolete) versions of the evtouch-driver -+can be downloaded her