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) iain _______________________________________________ [email protected] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-bluetooth To unsubscribe, send any mail to "[email protected]"
