Hi!
It seems like converting things to PE is all the rage these days, so I thought I could give it a try too. I don't know any application or games that requires dinput or dinput8 to be PE dlls, but I guess it wouldn't hurt any either.
I did a PE + unix lib split, but apparently there were some plans to re-implement it over HID, so I'm just sending this as RFC, to see if there's any interest in it, or if the HID path is preferred.
IMHO the HID path is much more work, so clearly not something achievable short term, and will possibly cause some feature regression. For instance the macos forcefeedback seems pretty straightforward to map to dinput and would be a shame to port over HID. Also HID is complicated add will add a lot of intermediate layers. The it can always be done in parallel or in addition to this split.
I tried to make sure the unit tests as well as joy.cpl reported identical results, with an X-Box and a DualShock 4 gamepads, but I don't have any more specific joysticks to test with. For macos I just made sure that it builds, hopefully every single commit although I only checked the whole series.
The series is quite long so I'm just attaching it as a single file that git am can split.
Cheers,