Re: Getting Philips Speechmike to work

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 13 Apr 2009, Alan Stern wrote:

> > Item(Global): Usage Page, data= [ 0x0c ] 12
> >                 Consumer
> > Item(Local ): Usage, data= [ 0x01 ] 1
> >                 Consumer Control
> > Item(Main  ): Collection, data= [ 0x01 ] 1
> >                 Application
> > Item(Global): Usage Page, data= [ 0x0c ] 12
> >                 Consumer
> > Item(Local ): Usage, data= [ 0xe9 ] 233
> >                 Volume Increment
> > Item(Global): Usage Page, data= [ 0x0c ] 12
> >                 Consumer
> > Item(Local ): Usage, data= [ 0xea ] 234
> >                 Volume Decrement
> > Item(Global): Logical Minimum, data= [ 0x00 ] 0
> > Item(Global): Logical Maximum, data= [ 0x01 ] 1
> > Item(Global): Report Count, data= [ 0x02 ] 2
> > Item(Global): Report Size, data= [ 0x01 ] 1
> > Item(Main  ): Input, data= [ 0x42 ] 66
> >                 Data Variable Absolute No_Wrap Linear
> >                 Preferred_State Null_State Non_Volatile Bitfield
> > Item(Global): Report Count, data= [ 0x01 ] 1
> > Item(Global): Report Size, data= [ 0x06 ] 6
> > Item(Main  ): Input, data= [ 0x01 ] 1
> >                 Constant Array Absolute No_Wrap Linear
> >                 Preferred_State No_Null_Position Non_Volatile Bitfield
> > Item(Main  ): End Collection, data=none
> I'm not an expert at HID, but this seems clear enough.  The report 
> contains two 1-bit items, representing a Volume Increment and a Volume 
> Decrement button, plus a 6-bit item which has no meaning and is always 
> constant (i.e., padding to bring the total size up to 8 bits).
> That explains why you only see two buttons in the event listing.
> If you want, you can trace the actual operation of the device by using 
> usbmon.  Instructions are in the kernel source file 
> Documentation/usb/usbmon.txt.

Yes, probably the report descriptor of the device doens't really reflect 
what the device is actually sedning in its reports, and this causes events 
to be lost.
We already have support for such devices in kernel, sometimes just 
run-time patching of the report descriptor before it enters the HID parser 
is sufficient.

You could also try to recompile your kernel with CONFIG_HID_DEBUG (if not 
already done), modprobe the 'hid' module with 'debug=2' parameter, and 
show me the output that appears in dmesg when you press the non-working 
keys.

-- 
Jiri Kosina
SUSE Labs

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux