WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] Mouse stops responding when wheel is used in Windows VM

To: James Song <jsong@xxxxxxxxxx>
Subject: Re: [Xen-devel] Mouse stops responding when wheel is used in Windows VM
From: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Fri, 20 Mar 2009 10:37:50 +0000
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Fri, 20 Mar 2009 03:42:11 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <49C3D96B020000200000FF9F@xxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <49C3D96B020000200000FF9F@xxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 2.0.0.14 (X11/20080505)
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 <ian.jackson@xxxxxxxxxxxxx>
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 <stefano.stabellini@xxxxxxxxxxxxx>


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>