ioemu: Let the USB tablet reach the far bottom and right pixels
PATCH 1/1 ioemu: Let the USB tablet reach the far bottom and right pixels
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 <[email protected]>
tools/ioemu/hw/xenfb.c +4 -4
@@ -1052,8 +1052,8 @@ static void xenfb_mouse_event(void *opaqstruct 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
tools/ioemu/sdl.c +2 -2
@@ -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 ;
tools/ioemu/vnc.c +2 -2
@@ -1214,8 +1214,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 ;