# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1204715429 0
# Node ID 86e64b684fb2751f8d2db7e07e88da8505008255
# Parent e1898e917373296357f18a0cc35e6dd50df250e0
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 <samuel.thibault@xxxxxxxxxxxxx>
---
tools/ioemu/hw/xenfb.c | 8 ++++----
tools/ioemu/sdl.c | 4 ++--
tools/ioemu/vnc.c | 4 ++--
3 files changed, 8 insertions(+), 8 deletions(-)
diff -r e1898e917373 -r 86e64b684fb2 tools/ioemu/hw/xenfb.c
--- a/tools/ioemu/hw/xenfb.c Wed Mar 05 10:54:08 2008 +0000
+++ b/tools/ioemu/hw/xenfb.c Wed Mar 05 11:10:29 2008 +0000
@@ -1052,8 +1052,8 @@ static void xenfb_mouse_event(void *opaq
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);
@@ -1312,8 +1312,8 @@ static void xenfb_kbd_handler(void *opaq
buttons &= ~button;
if (kbd_mouse_is_absolute())
kbd_mouse_event(
- x * 0x7FFF / s->width,
- y * 0x7FFF / s->height,
+ x * 0x7FFF / (s->width - 1),
+ y * 0x7FFF / (s->height - 1),
0,
buttons);
else
diff -r e1898e917373 -r 86e64b684fb2 tools/ioemu/sdl.c
--- a/tools/ioemu/sdl.c Wed Mar 05 10:54:08 2008 +0000
+++ b/tools/ioemu/sdl.c Wed Mar 05 11:10:29 2008 +0000
@@ -331,8 +331,8 @@ static void sdl_send_mouse_event(int dx,
}
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 -r e1898e917373 -r 86e64b684fb2 tools/ioemu/vnc.c
--- a/tools/ioemu/vnc.c Wed Mar 05 10:54:08 2008 +0000
+++ b/tools/ioemu/vnc.c Wed Mar 05 11:10:29 2008 +0000
@@ -1217,8 +1217,8 @@ static void pointer_event(VncState *vs,
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;
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|