From 4fb97edcd4e3de23a8476ca4d0267f55293cccad Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Fri, 24 Oct 2008 13:09:46 +1030 Subject: Fix axis inversion for absolute coordinates. If min_x/y was not equal to 0, the inverted calculated range was off and leads to inaccessible or out-of-range areas. (cherry picked from commit 12498042fcc08e34aef0117ce84192f59542fd56) --- src/evdev.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/evdev.c b/src/evdev.c index 482f95e..d112efe 100644 --- a/src/evdev.c +++ b/src/evdev.c @@ -388,9 +388,9 @@ EvdevReadInput(InputInfoPtr pInfo) 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); } -- cgit v1.2.1