diff options
author | Vinay Bondhugula <vinayb@vmware.com> | 2008-01-22 23:32:12 -0800 |
---|---|---|
committer | Vinay Bondhugula <vinayb@vmware.com> | 2008-01-22 23:32:12 -0800 |
commit | c312189cedf7526d61ced521f275ad5c4a972610 (patch) | |
tree | 3af150f48219d3d4a23d0a87074beae9fd93dd01 | |
parent | ca3eb5abeb187a1e40ff7c36bf87d52efb999be9 (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.c | 8 |
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) { |