Open przymi opened 2 weeks ago
There are several ways to implement this:
I guess adding missing stuff to the generic HID gamepad interface would be fastest to do, but then all buttons and axes must be raw, i.e. not depend on any onboard profile, in order to avoid conflict with 3rd party mappers and to provide best user experience. Basically, you can leave it as is for compatibility with your current design, but just duplicate all raw buttons, axes and IMU at the tail of this report as Const array so it will be ignored by standard OS HID parser, but 3rd party apps like reWASD will read them from report directly by offset. It is also desirable not to add keyboard/mouse it this case, because 3rd party mappers should be able to emulate keyboard/mouse from raw gamepad input on their own.
Directly expose USB HID
Mapping could be done e.g. by reWASD