I have even more issues with the Windows input library.
- There's like a lot of functions you should call to enable certain parts, but they're not documented at those parts, and are very hard to track down.
- In general, it is just assumed things just will work as is, and even then people will tell you other input libraries already do exists, so no need to write your own, and otherwise I should write electron apps, because software installation and type declarations are very scary (Web 2.0 was a mistake, and people should have been just as skeptical with it as with crypto).
- The preexisting libraries often have their own issues. SDL is bloated with standard library features, and I couldn't get its audio subsystem working at all, not to mention it's lacking in some features. The alternatives are not much better, and have their own issues, usually lacking the XInput handling on Windows, and instead using DirectInput.
Currently I'm having issues with not getting events generated for language changes too, even with the legacy part of my API. No info on why I'm not getting them for my application, they just hang until I change windows.