--- xf86Elo_orig.c 2007-12-20 11:45:02.000000000 +0100 +++ xf86Elo.c 2007-12-20 11:53:57.000000000 +0100 @@ -853,23 +853,23 @@ /* * Send events. * * We *must* generate a motion before a button change if pointer * location has changed as DIX assumes this. This is why we always * emit a motion, regardless of the kind of packet processed. */ - xf86PostMotionEvent(local->dev, TRUE, 0, 2, cur_x, cur_y); + xf86PostMotionEvent(local->dev, TRUE, 0, 2, x, y); /* * Emit a button press or release. */ if (state == ELO_PRESS || state == ELO_RELEASE) { - xf86PostButtonEvent(local->dev, TRUE, 1, state == ELO_PRESS, 0, 2, cur_x, cur_y); + xf86PostButtonEvent(local->dev, TRUE, 1, state == ELO_PRESS, 0, 2, x, y); } DBG(3, ErrorF("TouchScreen: x(%d), y(%d), %s\n", cur_x, cur_y, (state == ELO_PRESS) ? "Press" : ((state == ELO_RELEASE) ? "Release" : "Stream"))); } } @@ -1343,21 +1343,22 @@ * screen to fit one meter. */ if (InitValuatorClassDeviceStruct(dev, 2, xf86GetMotionEvents, local->history_size, Absolute) == FALSE) { ErrorF("Unable to allocate Elographics touchscreen ValuatorClassDeviceStruct\n"); return !Success; } else { - InitValuatorAxisStruct(dev, 0, priv->min_x, priv->max_x, + /* I will map coordinates myself */ + InitValuatorAxisStruct(dev, 0, -1, -1, 9500, 0 /* min_res */, 9500 /* max_res */); - InitValuatorAxisStruct(dev, 1, priv->min_y, priv->max_y, + InitValuatorAxisStruct(dev, 1, -1, -1, 10500, 0 /* min_res */, 10500 /* max_res */); } if (InitFocusClassDeviceStruct(dev) == FALSE) { ErrorF("Unable to allocate Elographics touchscreen FocusClassDeviceStruct\n"); } @@ -1820,17 +1821,17 @@ } static XF86ModuleVersionInfo version_rec = { "elographics", MODULEVENDORSTRING, MODINFOSTRING1, MODINFOSTRING2, XORG_VERSION_CURRENT, - PACKAGE_VERSION_MAJOR, PACKAGE_VERSION_MINOR, PACKAGE_VERSION_PATCHLEVEL, + 1, 1, 1, ABI_CLASS_XINPUT, ABI_XINPUT_VERSION, MOD_CLASS_XINPUT, { 0, 0, 0, 0 } }; /* * This is the entry point in the module. The name