[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH] Let the USB tablet reach the far bottom and right p
From: |
Samuel Thibault |
Subject: |
[Qemu-devel] [PATCH] Let the USB tablet reach the far bottom and right pixels |
Date: |
Wed, 27 Feb 2008 14:45:55 +0000 |
User-agent: |
Mutt/1.5.12-2006-07-14 |
Hello,
While using a virtual usbtablet, I noticed that I could not reach the
extreme bottom and right pixels. That is because of the conversion from
screen coordinates to 0..0x7FFF, below is a patch that fixes it.
Samuel
Index: cocoa.m
===================================================================
RCS file: /sources/qemu/qemu/cocoa.m,v
retrieving revision 1.15
diff -u -p -r1.15 cocoa.m
--- cocoa.m 22 Jan 2008 23:25:15 -0000 1.15
+++ cocoa.m 27 Feb 2008 14:42:02 -0000
@@ -40,7 +40,7 @@
#define cgrect(nsrect) (*(CGRect *)&(nsrect))
#define COCOA_MOUSE_EVENT \
if (isTabletEnabled) { \
- kbd_mouse_event((int)(p.x * 0x7FFF / screen.width),
(int)((screen.height - p.y) * 0x7FFF / screen.height), 0, buttons); \
+ kbd_mouse_event((int)(p.x * 0x7FFF / (screen.width - 1)),
(int)((screen.height - p.y) * 0x7FFF / (screen.height - 1)), 0, buttons); \
} else if (isMouseGrabed) { \
kbd_mouse_event((int)[event deltaX], (int)[event deltaY], 0,
buttons); \
} else { \
--- vl.c 17 Feb 2008 11:42:19 -0000 1.406
+++ vl.c 27 Feb 2008 14:42:04 -0000
@@ -588,7 +588,7 @@
if (qemu_put_mouse_event_current->qemu_put_mouse_event_absolute)
width = 0x7fff;
else
- width = graphic_width;
+ width = graphic_width - 1;
mouse_event(mouse_event_opaque,
width - dy, dx, dz, buttons_state);
} else
--- sdl.c 17 Nov 2007 17:14:38 -0000 1.45
+++ sdl.c 27 Feb 2008 14:42:04 -0000
@@ -311,8 +311,8 @@
absolute_enabled = 1;
}
- 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;
Index: vnc.c
===================================================================
RCS file: /sources/qemu/qemu/vnc.c,v
--- vnc.c 10 Feb 2008 16:33:13 -0000 1.35
+++ vnc.c 27 Feb 2008 14:42:04 -0000
@@ -879,8 +879,8 @@
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;
- [Qemu-devel] [PATCH] Let the USB tablet reach the far bottom and right pixels,
Samuel Thibault <=