diff options
author | Peter Hutterer <peter.hutterer@redhat.com> | 2008-10-24 13:09:46 +1030 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@redhat.com> | 2008-11-03 13:46:25 +1030 |
commit | 4fb97edcd4e3de23a8476ca4d0267f55293cccad (patch) | |
tree | 258836eca2323b457d6ea4403e6e70d42d5da2ac /src/evdev.c | |
parent | emulate MB: fix confusing log message. (diff) | |
download | xf86-input-evdev-4fb97edcd4e3de23a8476ca4d0267f55293cccad.tar.gz xf86-input-evdev-4fb97edcd4e3de23a8476ca4d0267f55293cccad.tar.bz2 xf86-input-evdev-4fb97edcd4e3de23a8476ca4d0267f55293cccad.zip |
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)
Diffstat (limited to 'src/evdev.c')
-rw-r--r-- | src/evdev.c | 4 |
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); } |