summaryrefslogtreecommitdiff
path: root/src/evdev.c
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@redhat.com>2008-10-24 13:09:46 +1030
committerPeter Hutterer <peter.hutterer@redhat.com>2008-10-24 13:09:46 +1030
commit12498042fcc08e34aef0117ce84192f59542fd56 (patch)
treeb315c339f43aa3f8683e9bb4e21f2a392e748b48 /src/evdev.c
parent0f8fcfccb3251ee3df80d90ae5d7df638722d24e (diff)
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.
Diffstat (limited to 'src/evdev.c')
-rw-r--r--src/evdev.c4
1 files 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);
}