qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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;

             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).