From: Samuel Thibault <samuel.thibault@eu.citrix.com>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] [PATCH] Let the USB tablet reach the far bottom and right pixels
Date: Wed, 27 Feb 2008 14:45:55 +0000 [thread overview]
Message-ID: <20080227144555.GA10230@implementation.uk.xensource.com> (raw)
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;
next reply other threads:[~2008-02-27 14:47 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-27 14:45 Samuel Thibault [this message]
2008-02-27 15:35 ` [Qemu-devel] [PATCH] Let the USB tablet reach the far bottom and right pixels Johannes Schindelin
2008-02-27 16:41 ` Samuel Thibault
2008-02-27 16:56 ` Johannes Schindelin
2008-03-05 10:46 ` [Qemu-devel] " Samuel Thibault
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080227144555.GA10230@implementation.uk.xensource.com \
--to=samuel.thibault@eu.citrix.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).