From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JUNYq-000101-QR for qemu-devel@nongnu.org; Wed, 27 Feb 2008 09:47:08 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JUNYo-0000zC-0N for qemu-devel@nongnu.org; Wed, 27 Feb 2008 09:47:08 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JUNYn-0000z4-S9 for qemu-devel@nongnu.org; Wed, 27 Feb 2008 09:47:05 -0500 Received: from smtp02.citrix.com ([66.165.176.63]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1JUNYn-0005IW-1t for qemu-devel@nongnu.org; Wed, 27 Feb 2008 09:47:05 -0500 Received: from implementation.famille.thibault.fr (dhcp-16-192.uk.xensource.com [172.31.16.192]) by smtp01.ad.xensource.com (8.13.1/8.13.1) with ESMTP id m1REjtlA004177 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 27 Feb 2008 06:45:57 -0800 Received: from samy by implementation.famille.thibault.fr with local (Exim 4.69) (envelope-from ) id 1JUNXf-0002fG-BK for qemu-devel@nongnu.org; Wed, 27 Feb 2008 15:45:55 +0100 Date: Wed, 27 Feb 2008 14:45:55 +0000 From: Samuel Thibault Message-ID: <20080227144555.GA10230@implementation.uk.xensource.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Subject: [Qemu-devel] [PATCH] Let the USB tablet reach the far bottom and right pixels Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org 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;