usb/125941: not working wheel on my microsoft notebook optical mouse 3000

Kai Wang kaiwang27 at gmail.com
Mon Aug 11 14:00:15 UTC 2008


The following reply was made to PR usb/125941; it has been noted by GNATS.

From: Kai Wang <kaiwang27 at gmail.com>
To: magik at back-up.pl
Cc: FreeBSD-gnats-submit at FreeBSD.org, freebsd-usb at FreeBSD.org
Subject: Re: usb/125941: not working wheel on my microsoft notebook optical
	mouse 3000
Date: Mon, 11 Aug 2008 15:34:34 +0200

 On Tue, Aug 05, 2008 at 10:03:15AM -0400, magik at back-up.pl wrote:
 > 
 > 
 > On Thu, 24 Jul 2008 23:30:07 GMT, FreeBSD-gnats-submit at FreeBSD.org wrote:
 > > Thank you very much for your problem report.
 > > It has the internal identification `usb/125941'.
 > > The individual assigned to look at your
 > > report is: freebsd-usb. 
 > > 
 > > You can access the state of your problem report at any time
 > > via this link:
 > > 
 > > http://www.freebsd.org/cgi/query-pr.cgi?pr=125941
 > > 
 > >>Category:       usb
 > >>Responsible:    freebsd-usb
 > >>Synopsis:       not working wheel on my microsoft notebook optical mouse
 > > 3000
 > >>Arrival-Date:   Thu Jul 24 23:30:07 UTC 2008
 > 
 > I just fixed problem with wheel on my mouse
 > and I'm sending in attachment patch for /usr/src/sys/dev/usb/ums.c file.
 
 > --- ums.c.orig	2008-08-05 17:24:21.815936911 +0200
 > +++ ums.c	2008-08-05 17:24:51.885277111 +0200
 > @@ -402,6 +402,7 @@
 >  		sc->sc_loc_x.pos = 8;
 >  		sc->sc_loc_y.pos = 16;
 >  		sc->sc_loc_z.pos = 24;
 > +                sc->sc_loc_z.size = 8;
 >  		sc->sc_loc_btn[0].pos = 0;
 >  		sc->sc_loc_btn[1].pos = 1;
 >  		sc->sc_loc_btn[2].pos = 2;
 
 
 Hi,
 
 Thanks for submitting the patch. It'd be great if you could also
 test the patch below for us and paste the result here, just for
 better understanding the problem.
 
 The patch adds some debug printfs:
 
 --- /sys/dev/usb/ums.c	2008-05-05 20:25:42.000000000 +0200
 +++ ums.c	2008-08-11 15:25:44.000000000 +0200
 @@ -284,6 +284,7 @@
  	wheel = hid_locate(desc, size, HID_USAGE2(HUP_GENERIC_DESKTOP,
  						  HUG_WHEEL),
  			    hid_input, &sc->sc_loc_z, &flags);
 +	printf("wheel=%d\n", wheel);
  
  	if (wheel) {
  		if ((flags & MOUSE_FLAGS_MASK) != MOUSE_FLAGS) {
 @@ -323,6 +324,7 @@
  			sc->flags |= UMS_Z;
  		}
  	}
 +	printf("sc->flags=0x%04x\n", sc->flags);
  
  	/*
  	 * The Microsoft Wireless Intellimouse 2.0 reports it's wheel
 @@ -402,6 +404,7 @@
  		sc->sc_loc_x.pos = 8;
  		sc->sc_loc_y.pos = 16;
  		sc->sc_loc_z.pos = 24;
 +		printf("sc->sc_loc_z.size=%u\n", sc->sc_loc_z.size);
  		sc->sc_loc_btn[0].pos = 0;
  		sc->sc_loc_btn[1].pos = 1;
  		sc->sc_loc_btn[2].pos = 2;
 


More information about the freebsd-usb mailing list