diff -ur xf86-input-evdev-2.0.99.2.orig/src/evdev.c xf86-input-evdev-2.0.99.2/src/evdev.c --- xf86-input-evdev-2.0.99.2.orig/src/evdev.c 2008-10-31 22:54:22.000000000 +0000 +++ xf86-input-evdev-2.0.99.2/src/evdev.c 2008-10-31 22:55:35.000000000 +0000 @@ -388,9 +388,9 @@ abs_x = pEvdev->abs_x; abs_y = pEvdev->abs_y; if (pEvdev->invert_x) - abs_x = pEvdev->max_x - abs_x; + abs_x = pEvdev->max_x - (abs_x - pEvdev->min_x); if (pEvdev->invert_y) - abs_y = pEvdev->max_y - abs_y; + abs_y = pEvdev->max_y - (abs_y - pEvdev->min_y); xf86PostMotionEvent(pInfo->dev, TRUE, 0, 2, abs_x, abs_y); }