From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: Re: Mouse stops responding when wheel is used in Windows VM Date: Fri, 20 Mar 2009 10:37:50 +0000 Message-ID: <49C371FE.90301@eu.citrix.com> References: <49C3D96B020000200000FF9F@lucius.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <49C3D96B020000200000FF9F@lucius.provo.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: James Song Cc: "xen-devel@lists.xensource.com" List-Id: xen-devel@lists.xenproject.org James Song wrote: > I have found that when I attempt to use the wheel to scroll in a Windows VM, > the mouse becomes unresponsive for several moments. It appears as though > during that time, the wheel scroll events are still being passed into the > guest. > > > patch to fix it: > > diff -r 2d7858d7c9f4 tools/ioemu-remote/hw/usb-hid.c > --- a/tools/ioemu-remote/hw/usb-hid.c Wed Feb 04 14:58:01 2009 +0800 > +++ b/tools/ioemu-remote/hw/usb-hid.c Fri Feb 20 11:13:38 2009 +0800 > @@ -551,6 +551,8 @@ > e = &s->queue[s->head]; > > dz = int_clamp(e->dz, -127, 127); > + if(dz) > + e->dz = 0; > > if (s->xyrel) { > dx = int_clamp(e->xdx, -127, 127); > @@ -593,7 +595,6 @@ > > case USB_TABLET: > /* Appears we have to invert the wheel direction */ > - dz = 0 - dz; > > buf[0] = b; > buf[1] = dx & 0xff; > This patch (or a very similar one) seems to be already in the tree: commit 70543c9952d2ff9f6fddb0a0948218e8e6f2dacb Author: Ian Jackson Date: Thu Dec 11 18:04:47 2008 +0000 usb-hid.c: fix usb mouse wheel This patch fixes the usb mouse wheel of usb devices. [ Previously, tablets would fail to subtract dz from e->dz thus producing an infinite stream of reports; also the wheel direction inversions had been multipled by merge damage resulting in the wrong number of inversions for mice. -iwj ] Signed-off-by: Stefano Stabellini