Re: Writing HID driver for a USB phone handset IPEVO VP170 (0x1778:0x0403)

Jiri Kosina <[email protected]>
Newsgroups gmane.linux.usb.devel
Message-ID <[email protected]>
On Wed, 25 Apr 2007, Robin H. Johnson wrote:

> Notice the X and Y in the output. I have a detailed mapping of the keys below.
> [ 3479.472985] drivers/hid/hid-core.c: report (size 7) (unnumbered)
> [ 3479.472985] drivers/hid/hid-core.c: report 0 (size 7) =  f0 XX YY 00 00 00 00
> [ 3479.472985] hid-debug: input Consumer.00e9 = 0
> [ 3479.472985] hid-debug: input Consumer.00ea = 0
> [ 3479.472985] hid-debug: input Consumer.00e2 = 0
> [ 3479.472985] hid-debug: input Consumer.0000 = 0
> [ 3479.472985] hid-debug: input Consumer.0000 = 1
> [ 3479.472985] hid-debug: input Consumer.0000 = 1
> [ 3479.472985] hid-debug: input Consumer.0000 = 1
> [ 3479.472985] hid-debug: input Consumer.0000 = 1
> [ 3479.472985] hid-debug: input Consumer.0000 = XX
> [ 3479.472985] hid-debug: input Consumer.0000 = YY
> [ 3479.472985] hid-debug: input Consumer.0000 = 0
> [ 3479.472985] hid-debug: input Consumer.0000 = 0
> [ 3479.472985] hid-debug: input Consumer.0000 = 0
> [ 3479.472985] hid-debug: input Consumer.0000 = 0

Hi Robin,

this doesn't look particularly good. 

> YY is always 0..3, seems to be a small cycle counter (that wraps) over the
> scope of ALL buttons. Eg pressing Mute, then Keypad7 will increment the counter
> by two.
> XX mapping table (hex):
> 1c = 'Skype'
> c1 = 'Out'/+
> c3 = 'List'
> 1d = Selector-Up
> 1e = Selector-Down
> 1f = No/Onhook
> 20 = Yes/Offhook
> 2f = Mute
> f1 = Circle (GROUP 0)
> f2 = Diamond
> f3 = Square
> 32 = Volume Up
> 33 = Volume Down
> b0 = Keypad 0
> b1 = Keypad 1
> b2 = Keypad 2
> b3 = Keypad 3
> b4 = Keypad 4
> b5 = Keypad 5
> b6 = Keypad 6
> b7 = Keypad 7
> b8 = Keypad 8
> b9 = Keypad 9
> ba = Keypad *
> bb = Keypad #

This doesn't seem like it would be anyhow compatible with standardized HID 
Usage Tables - the codes are just different than what the standard 
specifies.

I'll inspect the report descriptor in a further detail and will let you 
know if there is a possibility how to fix this on-the-fly, but maybe 
writing a separate (userland, using hiddev or just-being-created hidraw 
interface) driver would be better.

Thanks for the report,

-- 
Jiri Kosina
SUSE Labs

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.