From owner-freebsd-ports-bugs@FreeBSD.ORG Sun Jan 20 09:40:02 2008 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A3E8D16A420 for ; Sun, 20 Jan 2008 09:40:02 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 709F513C474 for ; Sun, 20 Jan 2008 09:40:02 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.2/8.14.2) with ESMTP id m0K9e0mv026977 for ; Sun, 20 Jan 2008 09:40:00 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.2/8.14.1/Submit) id m0K9e0EJ026976; Sun, 20 Jan 2008 09:40:00 GMT (envelope-from gnats) Resent-Date: Sun, 20 Jan 2008 09:40:00 GMT Resent-Message-Id: <200801200940.m0K9e0EJ026976@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Hiroto Kagotani Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 37E2816A41B for ; Sun, 20 Jan 2008 09:30:08 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21]) by mx1.freebsd.org (Postfix) with ESMTP id 1628713C442 for ; Sun, 20 Jan 2008 09:30:08 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.14.2/8.14.2) with ESMTP id m0K9Sfa7079365 for ; Sun, 20 Jan 2008 09:28:41 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.14.2/8.14.1/Submit) id m0K9SfJx079364; Sun, 20 Jan 2008 09:28:41 GMT (envelope-from nobody) Message-Id: <200801200928.m0K9SfJx079364@www.freebsd.org> Date: Sun, 20 Jan 2008 09:28:41 GMT From: Hiroto Kagotani To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: ports/119820: [PATCH] x11-drivers/xf86-input-vmmouse: incorrect mouse pointer cordinate X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 20 Jan 2008 09:40:02 -0000 >Number: 119820 >Category: ports >Synopsis: [PATCH] x11-drivers/xf86-input-vmmouse: incorrect mouse pointer cordinate >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sun Jan 20 09:40:00 UTC 2008 >Closed-Date: >Last-Modified: >Originator: Hiroto Kagotani >Release: 6.2-RELEASE-p5 >Organization: Okayama Univ. >Environment: FreeBSD myhost.mydomain 6.2-RELEASE-p5 FreeBSD 6.2-RELEASE-p5 #17: Sat Jun 9 13:32:51 JST 2007 root@myhost.mydomain:/usr/obj/usr/src/sys/MYHOST i386 >Description: vmmouse mouse driver does not correctly work with xorg-server under VMware Player/Workstation environment. xorg-server can not obtain the correct coordinates of the mouse pointer. The reason and the workaround are described in: http://groups.google.com/group/lucky.freebsd.questions/browse_thread/thread/9d44a3f3068edd07/df2ce51aa42be533 This workaround should likely be removed when the next xorg-server is released. >How-To-Repeat: Install FreeBSD + xorg as a guest OS of VMware Player. Install xf86-input-vmmouse and xf86-video-vmware drivers. Configure xorg to use vmmouse and vmware drivers. Run X. You find you can not click any place while the mouse pointer is visible and moving. >Fix: Patch from http://groups.google.com/group/lucky.freebsd.questions/browse_thread/thread/9d44a3f3068edd07/df2ce51aa42be533 diff -Nru ../xf86-input-vmmouse.orig/files/patch-src_vmmouse.c ./files/patch-src_vmmouse.c --- ../xf86-input-vmmouse.orig/files/patch-src_vmmouse.c Thu Jan 1 09:00:00 1970 +++ ./files/patch-src_vmmouse.c Sun Jan 20 17:11:22 2008 @@ -0,0 +1,28 @@ +--- src/vmmouse.c.orig Wed Sep 26 08:11:47 2007 ++++ src/vmmouse.c Sun Jan 20 17:10:54 2008 +@@ -964,8 +964,11 @@ + VMMOUSE_INPUT_DATA vmmouseInput; + int ps2Buttons = 0; + int numPackets; ++ VMMousePrivPtr mPriv; ++ double factorX, factorY; + + pMse = pInfo->private; ++ mPriv = pMse->mousePriv; + while((numPackets = VMMouseClient_GetInput(&vmmouseInput))){ + if (numPackets == VMMOUSE_ERROR) { + VMMouseClient_Disable(); +@@ -990,6 +993,13 @@ + dy = vmmouseInput.Y; + dz = (char)vmmouseInput.Z; + dw = 0; ++ ++ /* X server 1.4.0 does not call VMMouseConvertProc() so we scale coordinates here */ ++ factorX = ((double) screenInfo.screens[mPriv->screenNum]->width) / (double) 65535; ++ factorY = ((double) screenInfo.screens[mPriv->screenNum]->height) / (double) 65535; ++ dx = dx * factorX + 0.5; ++ dy = dy * factorY + 0.5; ++ + /* post an event */ + pMse->PostEvent(pInfo, buttons, dx, dy, dz, dw); + } >Release-Note: >Audit-Trail: >Unformatted: