On 18/05/18(Fri) 10:01, David Bern wrote:
> Hello!
> 
> Have been using libusbhid and discovered a couple of discrepancies in
> the man-page (libusbhid.3) and the source of usage.c
> 
> Some are just factual misses, but I also got (what I think is) 2 errors.
> I will try to explain them;
> 
> 1. (This is the I think is an error but not sure). The man-page tells me
> that hid_usage_in_page and hid_parse_usage_in_page are each
> others inverse.
> If I haven't misunderstood the practical meaning of inverse in this
> case then this should be true:
> x == hid_parse_usage_in_page(hid_usage_in_page(x)).
> 
> My observation:
> The main reason to why this isnt true, is that hid_usage_in_page()
> returns the data of pages[k].page_contents[j].name
> while hid_parse_usage_in_page() expects the data to
> contain "%s:%s", pages[k].name, pages[k].page_contents[j].name
> 
> The reason I ask instead of just posting working code is this:
> Am I misunderstanding the manual? In that case, the solution I want
> to send in is a change in that sentence
> Or Is the manual correct and the behavior of hid_usage_in_page() wrong,
> is this something I can correct without breaking other systems?
> 
> 
> 2. The second error I found is located in hid_parse_usage_in_page().
> It is unable to parse values found in page Button.
> 
> My observation:
> usage.c is using a standard table named usb_hid_pages. In that table
> we got a page called Buttons.
> the usages in that page is shortened to "*  Button %d".
> I believe this is the cause of why hid_parse_usage_in_page() is getting
> the pagesize "wrong" and therefor unable to parse any button in the
> button page. I guess this is the case with other similar cases as well.
> 
> my conclusion is that it would be possible to handle similar cases in a
> similar way as it is handled in hid_usage_in_page().
> 
> 
> As this is my first "issue" I would love to get as much feedback as
> possible so I can work on delivering a desirable and usable patch in
> my first try.

Just send a diff, then we'll look at it 8)

Reply via email to