Use extra buttons of Kensington Slimblade Trackball
Lee, Chung-Yeol
chungyeol.lee at gmail.com
Sat Aug 21 17:25:11 UTC 2010
On Sat, Aug 21, 2010 at 06:18:45PM +0200, Hans Petter Selasky wrote:
> On Saturday 21 August 2010 18:02:56 Lee, Chung-Yeol wrote:
> > On Sat, Aug 21, 2010 at 05:16:31PM +0200, Hans Petter Selasky wrote:
> > > On Saturday 21 August 2010 10:23:06 Lee, Chung-Yeol wrote:
> > > > Hi,
> > > >
> > > > While I'm searching how to use the extra buttons in Kensington
> > > > Slimblade
> > > >
> > > > Trackball, I made a patch for myself based on the linux driver.
> > > >
> > > > I confirmed it works as intended. However, I have no experience with
> > > > the FreeBSD kernel and I'm not sure that I modified it in a correct
> > > > way. -- especially, I don't know should I use usb_quirks?
> > > >
> > > > Can somebody check the attached diff file so that I can send problem
> > > >
> > > > report?
> > > >
> > > > Thanks.
> > >
> > > Hi,
> > >
> > > Can you re-send your patch to me. The listware stripped it off. I think
> > > there is also a similar patch in 9-current. Please check the version
> > > history of:
> > >
> > > /sys/dev/usb/input/ums.c
> > >
> > > --HPS
> >
> > diff file is against 8-STABLE.
> > I just looked ums.c in HEAD from Web CVS repository and can't find similar
> > code.
> >
> > C.-Y. Lee
>
> Hi,
>
> Please check and verify this patch:
>
> http://p4web.freebsd.org/@@182688?ac=10
>
> Also, could you dump the device, config and HID descriptors of your mouse. See
> man usbconfig on how to do that.
>
> --HPS
It seems alright.
Here's dump..
# usbconfig -u 0 -a 3 dump_device_desc
ugen0.3: <Kensington Slimblade Trackball Kensington> at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON
bLength = 0x0012
bDescriptorType = 0x0001
bcdUSB = 0x0110
bDeviceClass = 0x0000
bDeviceSubClass = 0x0000
bDeviceProtocol = 0x0000
bMaxPacketSize0 = 0x0008
idVendor = 0x047d
idProduct = 0x2041
bcdDevice = 0x0105
iManufacturer = 0x0001 <Kensington>
iProduct = 0x0002 <Kensington Slimblade Trackball>
iSerialNumber = 0x0000 <no string>
bNumConfigurations = 0x0001
# usbconfig -u 0 -a 3 dump_curr_config_desc
ugen0.3: <Kensington Slimblade Trackball Kensington> at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON
Configuration index 0
bLength = 0x0009
bDescriptorType = 0x0002
wTotalLength = 0x0022
bNumInterfaces = 0x0001
bConfigurationValue = 0x0001
iConfiguration = 0x0000 <no string>
bmAttributes = 0x00a0
bMaxPower = 0x0032
Interface 0
bLength = 0x0009
bDescriptorType = 0x0004
bInterfaceNumber = 0x0000
bAlternateSetting = 0x0000
bNumEndpoints = 0x0001
bInterfaceClass = 0x0003
bInterfaceSubClass = 0x0001
bInterfaceProtocol = 0x0002
iInterface = 0x0000 <no string>
Additional Descriptor
bLength = 0x09
bDescriptorType = 0x21
bDescriptorSubType = 0x10
RAW dump:
0x00 | 0x09, 0x21, 0x10, 0x01, 0x00, 0x01, 0x22, 0x4b,
0x08 | 0x00
Endpoint 0
bLength = 0x0007
bDescriptorType = 0x0005
bEndpointAddress = 0x0081 <IN>
bmAttributes = 0x0003 <INTERRUPT>
wMaxPacketSize = 0x0005
bInterval = 0x000a
bRefresh = 0x0000
bSynchAddress = 0x0000
# usbconfig -u 0 -a 3 do_request 0x81 0x06 0x2200 0 0x100
REQUEST = <0x05 0x01 0x09 0x02 0xa1 0x01 0x09 0x01 0xa1 0x00 0x05 0x09 0x19 0x01 0x29 0x02 0x15 0x00 0x25 0x01 0x95 0x02 0x75 0x01 0x81 0x02 0x95 0x01 0x75 0x06 0x81 0x03 0x05 0x01 0x09 0x30 0x09 0x31 0x09 0x38 0x15 0x81 0x25 0x7f 0x75 0x08 0x95 0x03 0x81 0x06 0x06 0x00 0xff 0x19 0x01 0x29 0x02 0x15 0x00 0x25 0x01 0x95 0x02 0x75 0x01 0x81 0x02 0x95 0x01 0x75 0x06 0x81 0x03 0xc0 0xc0><)%uu018%u)%uu>
Thanks.
C.-Y. Lee.
More information about the freebsd-usb
mailing list