--- xf86Elo.c 2006-04-07 19:20:16.000000000 +0200 +++ xf86Elo_fix.c 2008-07-30 18:23:49.000000000 +0200 @@ -733,8 +733,7 @@ input_y = v1; } *x = (priv->screen_width * (input_x - priv->min_x)) / width; - *y = (priv->screen_height - - (priv->screen_height * (input_y - priv->min_y)) / height); + *y = (priv->screen_height - (priv->screen_height * (input_y - priv->min_y)) / height); /* * MHALAS: Based on the description in xf86XInputSetScreen @@ -821,6 +820,7 @@ */ cur_x = WORD_ASSEMBLY(priv->packet_buf[3], priv->packet_buf[4]); cur_y = WORD_ASSEMBLY(priv->packet_buf[5], priv->packet_buf[6]); + cur_y = (priv->max_y+priv->min_y) - cur_y; state = priv->packet_buf[2] & 0x07; /*