question

Daedalus451-4000 avatar image
3 Votes"
Daedalus451-4000 asked YanGu-MSFT commented

What is the link USB HID and Windows.Gaming.Input?

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.
zzhgdrs.png


windows-uwpc++
· 3
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

@Daedalus451-4000 You had got the Input API work to get the wheel data, right? And you want to know if the input API could get more detailed data from the hardware?

0 Votes 0 ·

Hardware/Firmware representative from the same team as @Daedalus451-4000. We are trying to understand how a device using USB HID is discovered/is compatible with the windows wheel API. The off the shelf racing simulator wheel we have right now is discovered by this API and is definately using USB HID to communicate between the wheel hardware and the PC. We are missing the piece of the puzzle that connects the windows USB stack (including the HID report parser) up to the Windows.Gaming.Input API.

In both cases (windows generic wheel driver or custom driver) we are trying to understand how to present data to the Windows.Gaming.Input API such that the API understands that there is a wheel connected to the PC and is able to read data from the wheel. We are hopping that there is a generic driver provided in windows that interprets the standard HID descriptors to present a wheel to higher level APIs but we suspect (and are looking for confirmation) that we need to write our own driver.

0 Votes 0 ·

@Daedalus451-4000 You could try to view if the document which explains how to connect a USB Device to the Windows.Input.Gaming namespace could help you.

0 Votes 0 ·

0 Answers