Date: Fri, 21 Jan 2011 15:41:36 -0800 From: Maksim Yevmenkin <maksim.yevmenkin@gmail.com> To: David Demelier <demelier.david@gmail.com>, freebsd-bluetooth@freebsd.org Subject: Re: Bluetooth mouse does not connect after reboot Message-ID: <AANLkTim4MCXnzVwgk83kN%2Bk9tUe%2Bn0JbMEuxrfG-0FyE@mail.gmail.com> In-Reply-To: <alpine.NEB.2.00.1101211933450.13080@galant.ukfsn.org> References: <4D3889D2.80508@gmail.com> <201101202043.p0KKhDIB076736@lurza.secnetix.de> <AANLkTindTyEBAgGV3cBcSs6tGMtN8JtQ3_sHOF4n%2BnEs@mail.gmail.com> <4D393F19.9020005@gmail.com> <4D398BEC.9020503@gmail.com> <alpine.NEB.2.00.1101211933450.13080@galant.ukfsn.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jan 21, 2011 at 11:44 AM, Iain Hibbert <plunky@rya-online.net> wrote: > On Fri, 21 Jan 2011, David Demelier wrote: > > the HID descriptor you posted decodes as > > Collection page=Generic_Desktop usage=Mouse > Collection page=Generic_Desktop usage=Pointer > Input id=2 size=1 count=1 page=Button usage=Button_1 Variable, logical range 0..1 > Input id=2 size=1 count=1 page=Button usage=Button_2 Variable, logical range 0..1 > Input id=2 size=1 count=1 page=Button usage=Button_3 Variable, logical range 0..1 > Input id=2 size=1 count=1 page=Button usage=Button_4 Variable, logical range 0..1 > Input id=2 size=1 count=1 page=Button usage=Button_5 Variable, logical range 0..1 > Input id=2 size=1 count=1 page=Button usage=Button_6 Variable, logical range 0..1 > Input id=2 size=1 count=1 page=Button usage=Button_7 Variable, logical range 0..1 > Input id=2 size=1 count=1 page=Button usage=Button_8 Variable, logical range 0..1 > Input id=2 size=12 count=1 page=Generic_Desktop usage=X Variable Relative, logical range -2047..2047 > Input id=2 size=12 count=1 page=Generic_Desktop usage=Y Variable Relative, logical range -2047..2047 > Input id=2 size=8 count=1 page=Generic_Desktop usage=Wheel Variable Relative, logical range -127..127 > Input id=2 size=8 count=1 page=Consumer usage=AC_Pan Variable Relative, logical range -127..127 > End collection > End collection > Input id=16 size=8 count=6 page=Microsoft usage=0x0001, logical range 0..255 > Output id=16 size=8 count=6 page=Microsoft usage=0x0001, logical range 0..255 > Collection page=Microsoft usage=0x0001 > > so for report # 2 we expect a six byte report at the end of the packet > (the rest is ACL (5), L2CAP (4) and HID (2) headers..) > >> for wheel up: >> > 02 0C 20 0C 00 08 00 43 00 A1 02 00 00 00 00 01 00 >> >> for wheel down: >> > 02 0C 20 0C 00 08 00 43 00 A1 02 00 00 00 00 FF 00 > > those are GenericDesktop/Wheel +1 (01) and -1 (FF) values, probably you > can make them larger by spinning the wheel faster > >> for wheel logical button to left: >> > 02 0C 20 0C 00 08 00 43 00 A1 02 00 00 00 00 00 FF >> > 02 0C 20 0C 00 08 00 43 00 A1 02 00 00 00 00 00 00 >> >> and for wheel logical button to right: >> > 02 0C 20 0C 00 08 00 43 00 A1 02 00 00 00 00 00 01 >> > 02 0C 20 0C 00 08 00 43 00 A1 02 00 00 00 00 00 00 > > and Consumer/AC_PAN -1 (ff) and +1 (01) and since it comes from a button > you probably can't increase the speed - might accelerate, if you held it > down? They sent a 00 on release though I don't think that is required > (don't think my apple magic mouse ever did that with PAN) thank you Iain :) so, yes, those events decode as Consumer/AC_PAN (aka "w" direction). as i mentioned before, mouse_info structure (or more specifically mouse_data structure) does not contain place to report "w" direction. the good news is that mouse_data is a part of a union inside mouse_info structure. theoretically, it should be possible to add place for "w" direction in mouse_data, or, even create completely new mouse_data2. of course there is still a work to do with ioctl. another option is decode those as button clicks, i.e. less than zero - button X, more than zero - button X+1. not sure if this is a good idea though. thanks, max
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTim4MCXnzVwgk83kN%2Bk9tUe%2Bn0JbMEuxrfG-0FyE>