+++ /dev/null
-Fetch from: https://launchpad.net/ubuntu/+archive/primary/+files/xf86-input-tslib_0.0.6-7build3.debian.tar.gz
-Fixes build against newer versions of xorg.
-
-Signed-off-by: Jesper Baekdahl <jbb@gamblify.com>
----
-Index: xf86-input-tslib-trunk/src/tslib.c
-===================================================================
---- xf86-input-tslib-trunk/src/tslib.c (revision 48)
-+++ xf86-input-tslib-trunk/src/tslib.c (working copy)
-@@ -69,6 +69,13 @@
- #define DEFAULT_HEIGHT 240
- #define DEFAULT_WIDTH 320
-
-+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
-+#define COLLECT_INPUT_OPTIONS(pInfo, options) xf86CollectInputOptions((pInfo), (options), NULL)
-+#else
-+#define COLLECT_INPUT_OPTIONS(pInfo, options) xf86CollectInputOptions((pInfo), (options))
-+#endif
-+
-+
- enum { TSLIB_ROTATE_NONE=0, TSLIB_ROTATE_CW=270, TSLIB_ROTATE_UD=180, TSLIB_ROTATE_CCW=90 };
-
- enum button_state { BUTTON_NOT_PRESSED = 0, BUTTON_1_PRESSED = 1, BUTTON_3_CLICK = 3, BUTTON_3_CLICKED=4, BUTTON_EMULATION_OFF=-1 };
-@@ -106,7 +113,7 @@
- }
-
- static Bool
--ConvertProc( LocalDevicePtr local,
-+ConvertProc( InputInfoPtr local,
- int first,
- int num,
- int v0,
-@@ -135,7 +142,7 @@
- return t;
- }
-
--static void ReadInput (LocalDevicePtr local)
-+static void ReadInput (InputInfoPtr local)
- {
- struct ts_priv *priv = (struct ts_priv *) (local->private);
- struct ts_sample samp;
-@@ -382,7 +389,11 @@
- axiswidth - 1, /* max val */
- axiswidth, /* resolution */
- 0, /* min_res */
-- axiswidth); /* max_res */
-+ axiswidth /* max_res */
-+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12
-+ ,Absolute
-+#endif
-+ );
-
- InitValuatorAxisStruct(device, 1,
- #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 7
-@@ -392,7 +403,11 @@
- axisheight - 1, /* max val */
- axisheight, /* resolution */
- 0, /* min_res */
-- axisheight); /* max_res */
-+ axisheight /* max_res */
-+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12
-+ ,Absolute
-+#endif
-+ );
-
- if (InitProximityClassDeviceStruct (device) == FALSE) {
- ErrorF ("Unable to allocate EVTouch touchscreen ProximityClassDeviceStruct\n");
-@@ -434,7 +449,7 @@
- ErrorF("%s\n", __FUNCTION__);
- xf86TslibControlProc(pInfo->dev, DEVICE_OFF);
- ts_close(priv->ts);
-- xfree(pInfo->private);
-+ free(pInfo->private);
- pInfo->private = NULL;
- xf86DeleteInput(pInfo, 0);
- }
-@@ -444,47 +459,57 @@
- *
- * called when the module subsection is found in XF86Config
- */
-+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 12
-+static int
-+xf86TslibInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags)
-+#else
- static InputInfoPtr
- xf86TslibInit(InputDriverPtr drv, IDevPtr dev, int flags)
-+#endif
- {
- struct ts_priv *priv;
- char *s;
-+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
- InputInfoPtr pInfo;
-+#endif
-
-- priv = xcalloc (1, sizeof (struct ts_priv));
-+ priv = calloc (1, sizeof (struct ts_priv));
- if (!priv)
-- return NULL;
-+ return BadValue;
-
-+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
- if (!(pInfo = xf86AllocateInput(drv, 0))) {
-- xfree(priv);
-- return NULL;
-+ free(priv);
-+ return BadValue;
- }
-
- /* Initialise the InputInfoRec. */
- pInfo->name = dev->identifier;
-- pInfo->type_name = XI_TOUCHSCREEN;
- pInfo->flags =
- XI86_KEYBOARD_CAPABLE | XI86_POINTER_CAPABLE |
- XI86_SEND_DRAG_EVENTS;
-- pInfo->device_control = xf86TslibControlProc;
-- pInfo->read_input = ReadInput;
- #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 0
- pInfo->motion_history_proc = xf86GetMotionEvents;
- pInfo->history_size = 0;
- #endif
-- pInfo->control_proc = NULL;
-+ pInfo->conf_idev = dev;
- pInfo->close_proc = NULL;
-- pInfo->switch_mode = NULL;
- pInfo->conversion_proc = ConvertProc;
- pInfo->reverse_conversion_proc = NULL;
-- pInfo->dev = NULL;
- pInfo->private_flags = 0;
- pInfo->always_core_feedback = 0;
-- pInfo->conf_idev = dev;
-+#endif
-+
-+ pInfo->type_name = XI_TOUCHSCREEN;
-+ pInfo->control_proc = NULL;
-+ pInfo->read_input = ReadInput;
-+ pInfo->device_control = xf86TslibControlProc;
-+ pInfo->switch_mode = NULL;
- pInfo->private = priv;
-+ pInfo->dev = NULL;
-
- /* Collect the options, and process the common options. */
-- xf86CollectInputOptions(pInfo, NULL, NULL);
-+ COLLECT_INPUT_OPTIONS(pInfo, NULL);
- xf86ProcessCommonOptions(pInfo, pInfo->options);
-
- priv->screen_num = xf86SetIntOption(pInfo->options, "ScreenNumber", 0 );
-@@ -510,23 +535,31 @@
- priv->rotate = TSLIB_ROTATE_NONE;
- }
-
-+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
- s = xf86CheckStrOption(dev->commonOptions, "path", NULL);
-+#else
-+ s = xf86CheckStrOption(pInfo->options, "path", NULL);
-+#endif
- if (!s)
-+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
- s = xf86CheckStrOption(dev->commonOptions, "Device", NULL);
-+#else
-+ s = xf86CheckStrOption(pInfo->options, "Device", NULL);
-+#endif
-
- priv->ts = ts_open(s, 1);
-- xfree(s);
-+ free(s);
-
- if (!priv->ts) {
- ErrorF("ts_open failed (device=%s)\n",s);
- xf86DeleteInput(pInfo, 0);
-- return NULL;
-+ return BadValue;
- }
-
- if (ts_config(priv->ts)) {
- ErrorF("ts_config failed\n");
- xf86DeleteInput(pInfo, 0);
-- return NULL;
-+ return BadValue;
- }
-
- pInfo->fd = ts_fd(priv->ts);
-@@ -536,11 +569,13 @@
- priv->state = BUTTON_EMULATION_OFF;
- }
-
-+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 12
- /* Mark the device configured */
- pInfo->flags |= XI86_CONFIGURED;
-+#endif
-
- /* Return the configured device */
-- return (pInfo);
-+ return Success;
- }
-
- _X_EXPORT InputDriverRec TSLIB = {