I'm working with team of hardware and firmware engineers to build a custom racing wheel that interfaces with a PC via USB HID. We are struggling to understand how a wheel is detected by higher level applications. We've found the Windows.Gaming.Input namespace, specifically the RacingWheel class, for UWP apps. We have a simple program that can read an off the shelf Logitech wheel using this API(detects the wheel and reads the wheel angle). What is required for a wheel to show up using the Windows.Gaming.Input API? Is there specific documentation about the link between HID devices and this namespace?
For this kind of interaction, is the generic HID driver enough or would a custom driver be required? Looking at a Logitech wheel we can see it's using its own driver based on USB HID. The Windows HID driver documentation has a diagram showing the full software stack in which the vendor supplied driver is optional. If we do need to write a custom driver, we are unsure of where to look for the requirements of such a driver.