Sascha Hauer wrote: > OK, I have applied the patch and made a 0.0.5 release.
Thank you. The 0.0.5 works on freerunner only when the display is not rotated. Timo Juhani Lindfors wrote a patch [1] to make it work on rotated screen. The patch [2] is confirmed working on freerunner and Sharp Zaurus SL-C3200. Kind regards Wen-Yen Chuang (caleb) [1] http://bugs.debian.org/493942#78 [2] I applied Timo's patch [1] to 0.0.5 and attach it with this mail
--- xf86-input-tslib-0.0.5.orig/src/tslib.c +++ xf86-input-tslib-0.0.5/src/tslib.c @@ -183,7 +185,7 @@ { InputInfoPtr pInfo; unsigned char map[MAXBUTTONS + 1]; - int i; + int i, axiswidth, axisheight; struct ts_priv *priv; ErrorF("%s\n", __FUNCTION__); @@ -212,17 +226,29 @@ return !Success; } + switch(priv->rotate) { + case TSLIB_ROTATE_CW: + case TSLIB_ROTATE_CCW: + axiswidth = priv->height; + axisheight = priv->width; + break; + default: + axiswidth = priv->width; + axisheight = priv->height; + break; + } + InitValuatorAxisStruct(device, 0, 0, /* min val */ - priv->width - 1, /* max val */ - priv->width, /* resolution */ + axiswidth - 1, /* max val */ + axiswidth, /* resolution */ 0, /* min_res */ - priv->width); /* max_res */ + axiswidth); /* max_res */ InitValuatorAxisStruct(device, 1, 0, /* min val */ - priv->height - 1,/* max val */ - priv->height, /* resolution */ + axisheight - 1, /* max val */ + axisheight, /* resolution */ 0, /* min_res */ - priv->height); /* max_res */ + axisheight); /* max_res */ if (InitProximityClassDeviceStruct (device) == FALSE) { ErrorF ("Unable to allocate EVTouch touchscreen ProximityClassDeviceStruct\n");