Status of HID in Wine

Juan Jose Gonzalez juanj.gh at gmail.com
Thu Nov 10 15:20:30 CST 2016


Hi,

On 11/03/2016 04:15 PM, Aric Stewart wrote:
> Looking forward, the hope is that then we will be able to build RawInput support on top of HID, and also dinput and xinput support as well. As a fun challenge I have been working to get native dinput from DirectX 9 to work on Wine on top of HID and it is moving forward much better than I expect, with a lot of hacks at present. (native Dinput sees the gamepads and even start trying to read them, but current is not getting reports properly)
I'm glad to see so much progress on the HID functionality. As for Dinput
and Xinput, last time I was active in the mailing list there was a
discussion about how to correctly identify Xinput devices in programs
that can enumerate both Xinput and Dinput controllers.

Have you thought about how to allow software to differentiate between
Dinput-only and Xinput+Dinput devices? Roderick Colenbrander wrote that
many old games that support Xinput+Dinput use WMI to identify Xinput
devices. Apparently it's what the article on MSDN I found last time
proposes too, I just didn't see the bit about it being WMI before:
https://msdn.microsoft.com/en-us/library/windows/desktop/ee417014(v=vs.85).aspx

I feel like there needs to be a layer between HID and Dinput/Xinput that
checks whether a certain HID device is an XInput controller and fills in
the correct info before passing it to DInput and XInput. Since we're
just mapping HID devices, that "check" must know all possible mappings
for XInput devices, so basically it must contain most of the
functionality that several of us have implemented directly in xinput.dll
in one way or another.

>
> So tell me how things work!
> thanks,
> -aric
>
>

Best regards,
Juan



More information about the wine-devel mailing list