Quantcast
Channel: Objective Development Forums
Viewing all articles
Browse latest Browse all 4524

Re: HID Gamepad - not more than 16 buttons?

$
0
0
Thanks for elaborating and reminding me that confirmation of issues is valuable too.

I wanted to figure out why there were separate classes for Game Pad and Joystick. I wasn't able to find out any more or a spec of each of their limitations.

I understood the longer report thing to basically be that you have to carefully always send groups of usbSetInterrupt() calls with the proper number of bytes, and manually keep track of which one is expected to have the beginning of the report. You say one worked without it; I wonder whether you can send a shorter report and the host treat the rest as zero. Then the last byte of your 9-byte packet might look like an all-zero first-8-bytes of it. To test this you could have a key always held in keycode[5] so that it might break things if it were treated as the report_id field.

Remember that >8 byte reports on low-speed USB double latency (>16 triple, etc.). I think that some people use multiple report IDs (as you mentioned) to reduce latency, at least in the case where only one report's inputs change in a given interrupt period.

I'll probably research more on the report_id, because I could use more understanding of it.

Viewing all articles
Browse latest Browse all 4524

Trending Articles