Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 14 Nov 2007 11:23:58 -0800
From:      "Maksim Yevmenkin" <maksim.yevmenkin@gmail.com>
To:        "Eric Millbrandt" <emillbrandt@coldhaus.com>
Cc:        freebsd-bluetooth@freebsd.org
Subject:   Re: bluetooth mouse/keyboard blues
Message-ID:  <bb4a86c70711141123k489bdb54y3bcb57b28d55370@mail.gmail.com>
In-Reply-To: <473B4412.3090505@coldhaus.com>
References:  <472DFCE2.2010707@coldhaus.com> <bb4a86c70711041224i36bd2db6v824d92ab9a8655d8@mail.gmail.com> <bb4a86c70711041237k2f715a8em682c5cfc54bed7a4@mail.gmail.com> <472E3F45.3080909@coldhaus.com> <bb4a86c70711041603p5cf906a9ve5b353420e96bd2a@mail.gmail.com> <473B4412.3090505@coldhaus.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Eric,

i'm sorry for not getting back to you earlier. i'm completely swamped
with my day job.

On 11/14/07, Eric Millbrandt <emillbrandt@coldhaus.com> wrote:
> Maksim Yevmenkin wrote:
> > On 11/4/07, Eric Millbrandt <emillbrandt@coldhaus.com> wrote:
> >
> >> Maksim Yevmenkin wrote:
> >>
> >>>> 1) make sure you have paired bluetooth keyboard/mouse and your pc
> >>>>
> >>>>
> >>>>
> >>>>
> >> Oops, I just figured out how to pair the keyboard.  You need to hold the
> >> power button down for three seconds and then enter the pin.  The
> >> keyboard works great.
> >>
> >
> > ok
> >
> >
> >> Why would the mouse buttons work but not cursor movement?
> >>
> >
> > what bluetooth mouse do you have exactly?
> >
> > you tell me that buttons work, so i assume, bluetooth communication
> > channel works.
> >
> > i dumped the hid descriptor that you have provided in your previous
> > email, and got
> >
> >
> > ===
> >
> > Collection page=Consumer usage=Consumer_Control
> > Input   id=20 size=2 count=1 page=Generic_Desktop usage=Mouse
> > Variable, logical range 0..3
> > Input   id=20 size=1 count=1 page=Microsoft usage=0xfe11 Variable,
> > logical range 0..1
> > End collection
> > 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=4 count=1 page=Generic_Desktop usage=X Variable
> > Relative, logical range 0..127
> > End collection
> > End collection
> > Collection page=Consumer usage=Consumer_Control
> > Feature id=25 size=8 count=1 page=Microsoft usage=0xff18 Variable,
> > logical range 0..255
> > Feature id=25 size=8 count=1 page=Microsoft usage=0xff19 Variable,
> > logical range 0..255
> > Feature id=25 size=8 count=1 page=Microsoft usage=0xff1a Variable,
> > logical range 0..255
> > Feature id=25 size=8 count=1 page=Microsoft usage=0xff1b Variable,
> > logical range 0..255
> > Feature id=25 size=8 count=1 page=Microsoft usage=0xff1c Variable,
> > logical range 0..255
> > Feature id=25 size=8 count=1 page=Microsoft usage=0xff1d Variable,
> > logical range 0..255
> > Feature id=25 size=8 count=1 page=Microsoft usage=0xff1e Variable,
> > logical range 0..255
> > Feature id=25 size=8 count=1 page=Microsoft usage=0xff1f Variable,
> > logical range 0..255
> > Feature id=25 size=8 count=1 page=Microsoft usage=0xff20 Variable,
> > logical range 0..255
> > Feature id=25 size=8 count=1 page=Microsoft usage=0xff21 Variable,
> > logical range 0..255
> > Feature id=25 size=8 count=1 page=Microsoft usage=0xff22 Variable,
> > logical range 0..255
> > Feature id=25 size=1 count=1 page=Microsoft usage=0xff23 Variable,
> > logical range 0..1
> > End collection
> >
> > ===
> >
> > one thing that is very strange is that i'm not seeing input report for
> > the Y axis. this could be the problem with usb hid descriptor parsing,
> > or (less likely), perhaps, this mouse uses non-standard hid report. i
> > will need to decode it manually to see where the problem is.
> >
> > thanks,
> > max
> >
> >
> >
> I tried the mouse with a linux distribution and had better luck.  I was
> able to use sdptool, from the bluez package, I think..., to get a
> working hid descriptor.
>
> The mouse reports itself as a 'Microsoft Bluetooth Notebook Mouse 5000'
>
>         0x05 0x0c 0x09 0x01 0xa1 0x01 0x05 0x01
>         0x09 0x02 0x85 0x14 0x06 0x00 0xff 0x0a
>         0x12 0xfe 0x95 0x01 0x75 0x02 0x15 0x00
>         0x25 0x03 0x81 0x02 0x0a 0x11 0xfe 0x75
>         0x01 0x25 0x01 0x81 0x02 0x95 0x05 0x81
>         0x01 0xc0 0x05 0x01 0x09 0x02 0xa1 0x01
>         0x05 0x01 0x09 0x02 0x85 0x11 0x09 0x01
>         0xa1 0x00 0x05 0x09 0x19 0x01 0x29 0x04
>         0x95 0x04 0x75 0x01 0x25 0x01 0x81 0x02
>         0x75 0x04 0x95 0x01 0x81 0x01 0x05 0x01
>         0x09 0x30 0x09 0x31 0x09 0x38 0x95 0x03
>         0x75 0x08 0x15 0x81 0x25 0x7f 0x81 0x06
>         0x95 0x01 0x81 0x01 0xc0 0xc0 0x05 0x0c
>         0x09 0x01 0xa1 0x01 0x85 0x19 0x06 0x00
>         0xff 0x1a 0x18 0xff 0x2a 0x22 0xff 0x95
>         0x0b 0x75 0x08 0x15 0x00 0x26 0xff 0x00
>         0xb1 0x02 0x0a 0x23 0xff 0x95 0x01 0x75
>         0x01 0x25 0x01 0xb1 0x02 0x75 0x07 0xb1
>         0x01 0xc0 0x00
>
>
> Now I get cursor movement and all the buttons and mouse wheel work.
> Thanks for the help.

the new descriptor looks much better. as you ca see it has all the
right usage's.

Collection page=Consumer usage=Consumer_Control
Input   id=20 size=2 count=1 page=Generic_Desktop usage=Mouse
Variable, logical range 0..3
Input   id=20 size=1 count=1 page=Microsoft usage=0xfe11 Variable,
logical range 0..1
End collection
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=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
Input   id=17 size=8 count=1 page=Generic_Desktop usage=Wheel Variable
Relative, logical range -127..127
End collection
End collection
Collection page=Consumer usage=Consumer_Control
Feature id=25 size=8 count=1 page=Microsoft usage=0xff18 Variable,
logical range 0..255
Feature id=25 size=8 count=1 page=Microsoft usage=0xff19 Variable,
logical range 0..255
Feature id=25 size=8 count=1 page=Microsoft usage=0xff1a Variable,
logical range 0..255
Feature id=25 size=8 count=1 page=Microsoft usage=0xff1b Variable,
logical range 0..255
Feature id=25 size=8 count=1 page=Microsoft usage=0xff1c Variable,
logical range 0..255
Feature id=25 size=8 count=1 page=Microsoft usage=0xff1d Variable,
logical range 0..255
Feature id=25 size=8 count=1 page=Microsoft usage=0xff1e Variable,
logical range 0..255
Feature id=25 size=8 count=1 page=Microsoft usage=0xff1f Variable,
logical range 0..255
Feature id=25 size=8 count=1 page=Microsoft usage=0xff20 Variable,
logical range 0..255
Feature id=25 size=8 count=1 page=Microsoft usage=0xff21 Variable,
logical range 0..255
Feature id=25 size=8 count=1 page=Microsoft usage=0xff22 Variable,
logical range 0..255
Feature id=25 size=1 count=1 page=Microsoft usage=0xff23 Variable,
logical range 0..1
End collection
End collection

anyway, i'm interested to know if bthidcontrol(8) still returns broken
descriptor. could you please give bthidcontrol(8) one more try and
compare descriptors? i just want to rule out cut-n-paste error.

thanks,
max



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