https://bugs.winehq.org/show_bug.cgi?id=53387
--- Comment #9 from Zeb Figura z.figura12@gmail.com --- (In reply to Tuomas Nurmi from comment #8)
I wonder if this is something I could realistically try fixing myself? (quite experienced developer, but somewhat limited C experience, no previous experience with HID or WINE development) I suppose the right place to look at is dlls/winebus.sys/?
Yes, sorry, I meant to get to it myself but never managed to find the time.
The IDs you want are controlled by IRP_MN_QUERY_ID in pdo_pnp() in dlls/hidclass.sys/pnp.c. We also assume that the device and instance ID should be taken from the parent but I'm not sure that's correct. You'll also want to add conformance tests in dlls/dinput/tests/; note that the tests use a kernel driver (driver_hid.c) but you probably just want to check the registry keys from hid.c. Also, because it's a kernel driver, you'll probably want to get a testbot account (https://testbot.winehq.org/) rather than using your own machine.