From: Keir Fraser Date: Thu, 20 Mar 2008 12:04:51 +0000 (+0000) Subject: ioemu: Let the USB tablet reach the far bottom and right pixels X-Git-Tag: 3.2.1-rc1~12 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=df64416a0a14bd470ad993f059598f67b96449c3;p=people%2Fvhanquez%2Fxen.git ioemu: Let the USB tablet reach the far bottom and right pixels by fixing divisions / multiplications into using width-1. Signed-off-by: Samuel Thibault xen-unstable changeset: 17189:86e64b684fb2751f8d2db7e07e88da8505008255 xen-unstable date: Wed Mar 05 11:10:29 2008 +0000 --- diff --git a/tools/ioemu/hw/xenfb.c b/tools/ioemu/hw/xenfb.c index bd947787e..aa646f693 100644 --- a/tools/ioemu/hw/xenfb.c +++ b/tools/ioemu/hw/xenfb.c @@ -1044,8 +1044,8 @@ static void xenfb_mouse_event(void *opaque, struct xenfb *xenfb = opaque; if (xenfb->abs_pointer_wanted) xenfb_send_position(xenfb, - dx * xenfb->ds->width / 0x7fff, - dy * xenfb->ds->height / 0x7fff, + dx * (xenfb->ds->width - 1) / 0x7fff, + dy * (xenfb->ds->height - 1) / 0x7fff, dz); else xenfb_send_motion(xenfb, dx, dy, dz); diff --git a/tools/ioemu/sdl.c b/tools/ioemu/sdl.c index d2af24752..4f12a3602 100644 --- a/tools/ioemu/sdl.c +++ b/tools/ioemu/sdl.c @@ -279,8 +279,8 @@ static void sdl_send_mouse_event(int dx, int dy, int dz, int state) } SDL_GetMouseState(&dx, &dy); - dx = dx * 0x7FFF / width; - dy = dy * 0x7FFF / height; + dx = dx * 0x7FFF / (width - 1); + dy = dy * 0x7FFF / (height - 1); } else if (absolute_enabled) { sdl_show_cursor(); absolute_enabled = 0; diff --git a/tools/ioemu/vnc.c b/tools/ioemu/vnc.c index 11cd94479..f2ee9ea47 100644 --- a/tools/ioemu/vnc.c +++ b/tools/ioemu/vnc.c @@ -1023,8 +1023,8 @@ static void pointer_event(VncState *vs, int button_mask, int x, int y) dz = 1; if (vs->absolute) { - kbd_mouse_event(x * 0x7FFF / vs->ds->width, - y * 0x7FFF / vs->ds->height, + kbd_mouse_event(x * 0x7FFF / (vs->ds->width - 1), + y * 0x7FFF / (vs->ds->height - 1), dz, buttons); } else if (vs->has_pointer_type_change) { x -= 0x7FFF;