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)