Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 29 Jun 2007 11:17:54 -0700
From:      "Maksim Yevmenkin" <maksim.yevmenkin@gmail.com>
To:        "Vladimir Grebenschikov" <vova@sw.ru>
Cc:        bluetooth <bluetooth@freebsd.org>
Subject:   Re: Microsoft Wireless Mouse 8000 with bthhid
Message-ID:  <bb4a86c70706291117p741c13ffj1dc7ee61677d8c22@mail.gmail.com>
In-Reply-To: <1183067346.1319.10.camel@localhost>
References:  <1183067346.1319.10.camel@localhost>

next in thread | previous in thread | raw e-mail | index | archive | help
On 6/28/07, Vladimir Grebenschikov <vova@sw.ru> wrote:
> Hi
>
> It was easily detect and attached to bthidd.
> (review on http://www.ixbt.com/peripheral/ms-wlm-8000.shtml - sorry on
> Russian)
>
> HID descriptor is big (see below).
>
> But it works a bit strange:
>
> 1,2,3 buttons works as expected.
> Mouse wheel does not produce any events according to xev.
> Horizontal scroll does not works also.
> Additional buttons produce Button8, Button9 events.
>
> Any hints how to make wheel work ?

i dumped the descriptor and there are some things that looks strange, i.e.

Collection page=Generic_Desktop usage=Mouse
Collection page=Generic_Desktop usage=Mouse
Collection page=Generic_Desktop usage=Pointer
Input   id=17 size=1 count=1 page=Button usage=Button_1 Variable,
logical range 0..1
Input   id=17 size=1 count=1 page=Button usage=Button_2 Variable,
logical range 0..1
Input   id=17 size=1 count=1 page=Button usage=Button_3 Variable,
logical range 0..1
Input   id=17 size=1 count=1 page=Button usage=Button_4 Variable,
logical range 0..1
Input   id=17 size=1 count=1 page=Button usage=Button_5 Variable,
logical range 0..1
Input   id=17 size=8 count=1 page=Generic_Desktop usage=X Variable
Relative, logical range -127..127
Input   id=17 size=8 count=1 page=Generic_Desktop usage=Y Variable
Relative, logical range -127..127
Collection page=0x0000 usage=0x0000
Feature id=18 size=2 count=1 page=Generic_Desktop
usage=Resolution_Multiplier Variable, logical range 0..1, physical
range 0..16
Input   id=17 size=8 count=1 page=Generic_Desktop usage=Wheel Variable
Relative, logical range -127..127
End collection
Collection page=0x0000 usage=0x0000
Feature id=18 size=2 count=1 page=Generic_Desktop
usage=Resolution_Multiplier Variable, logical range 0..1, physical
range 0..16
Input   id=17 size=8 count=1 page=Consumer usage=AC_Pan Variable
Relative, logical range -127..127
End collection
End collection
End collection
End collection

as you can see buttons, x and y are in the first collection
Generic_Desktop/Pointer, however,
wheel and ac_pan appear in another collection with usage and page set
to 0x0000.

it looks like there is another parsing bug in libusbhid(3). once it
fixed wheel should just work.

also someone needs to teach bthidd(8) to handle ac_pan usage.

thanks,
max



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bb4a86c70706291117p741c13ffj1dc7ee61677d8c22>