usb/125941: not working wheel on my microsoft notebook optical
mouse 3000
Grzegorz Blach
magik at back-up.pl
Mon Aug 11 14:20:07 UTC 2008
The following reply was made to PR usb/125941; it has been noted by GNATS.
From: Grzegorz Blach <magik at back-up.pl>
To: Kai Wang <kaiwang27 at gmail.com>
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 10:19:35 -0400
On Mon, 11 Aug 2008 15:34:34 +0200, Kai Wang <kaiwang27 at gmail.com> wrote:
> 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;
this, what I see:
ums0: <Microsoft Microsoft Notebook Optical Mouse with Tilt Wheel, class
0/0, rev 2.00/1.20, addr 2> on uhub0
wheel=0
sc->flags=0x0000
ums0: 3 buttons and a TILT dir.
sc->sc_loc_z.size=0
More information about the freebsd-usb
mailing list