(08-17-2016, 02:59 AM)JulianLoehr Wrote: Ah ok. It is also possible (providing a buffer that is large enough) that one read yields multiple reports. Then the read bytes are a multiple of the largest report. I think it is by design as the documentation suggest to then use some more HIDAPI-Calls to extract the actual data from the reports. Those calls do take the Report Descriptor into account and therefore are only using the valid bytes.
So for that to work (processing multiple reports with one ReadFile-Call) it is necessary that all reads yield the same length (or a multiple of that).
Interesting, I didn't know that Windows would "merge" reports like that. Looking at the max size (23 bytes), it seems possible that multiple reports get merged. So it could be something Dolphin is doing wrong…? (I'm not very familiar with the Windows code)
(08-17-2016, 04:02 AM)Caturix Wrote: However, do you think a real Wiimote will solve this?
Not sure what you mean by "real Wiimote"… Anyway, I realised that just linking to a PR wasn't very helpful; so if you don't mind installing a Linux distribution and you want to try, you can build it with:
Code:
git clone https://github.com/dolphin-emu/dolphin
cd dolphin
git fetch origin pull/4090/head:hidapi
git checkout hidapi