summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVinay Bondhugula <vinayb@vmware.com>2008-01-22 23:32:12 -0800
committerVinay Bondhugula <vinayb@vmware.com>2008-01-22 23:32:12 -0800
commitc312189cedf7526d61ced521f275ad5c4a972610 (patch)
tree3af150f48219d3d4a23d0a87074beae9fd93dd01
parentca3eb5abeb187a1e40ff7c36bf87d52efb999be9 (diff)
Fix device to screen space coordinate conversion
The Xserver no longer calls an input device's conversion_proc to convert x and y coordinates from device to screen space. This fix calls the conversion routine in vmmouse.c before posting the motion event to Xserver. Other drivers also seem to rely on conversion_proc, so the real fix should probably go into Xserver's code (maybe in xserver/hw/xfree86/common/xf86Xinput.c?).
-rw-r--r--src/vmmouse.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/vmmouse.c b/src/vmmouse.c
index be1087e..bd3763b 100644
--- a/src/vmmouse.c
+++ b/src/vmmouse.c
@@ -490,7 +490,13 @@ VMMouseDoPostEvent(InputInfoPtr pInfo, int buttons, int dx, int dy)
buttons = reverseBits(reverseMap, buttons);
if (dx || dy) {
- xf86PostMotionEvent(pInfo->dev, !mPriv->relative, 0, 2, dx, dy);
+
+ /*
+ * The Xserver no longer calls an input device's conversion_proc
+ * to convert x and y coordinates from device to screen space.
+ */
+ VMMouseConvertProc(pInfo, 0, 2, dx, dy, 0, 0, 0, 0, &dx, &dy);
+ xf86PostMotionEvent(pInfo->dev, !mPriv->relative, 0, 2, dx, dy);
}
if (truebuttons != pMse->lastButtons) {