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?).
This commit is contained in:
Vinay Bondhugula
2008-01-22 23:32:12 -08:00
parent ca3eb5abeb
commit c312189ced

View File

@@ -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) {