XInput and HID - architecture

Aric Stewart aric at codeweavers.com
Sun Mar 20 11:05:14 CDT 2016


On 3/19/16 12:59 PM, Juan Jose Gonzalez wrote:
> Hi,
> 
> On 03/16/2016 02:45 AM, Roderick Colenbrander wrote:
>> Hi Juan,
> 
> Thank you for pointing out the enumeration process. The reason I
> implemented Xinput was to play a game that didn't support any other
> input method, so until now, I hadn't given it much thought. According to
> https://msdn.microsoft.com/en-us/library/windows/desktop/ee417014%28v=vs.85%29.aspx
> , an XInput device shows up in DInput with an ID containing "IG_", which
> is what developers should use to filter them out. This might make things
> a bit difficult, since in Wine, both DInput and XInput devices are
> supposed to be created from a common HID base, so Wine's DInput cannot
> know anything about whether a device is an XInput device or not.

The IM_/IG_ device enumeration thing is done driver level. I have some super basic logic in my current set of patches that uses IG_ if i know the device is a gamepad device. We may in the future want to make that smarter in the future (Counting axis/buttons etc...)


-aric



More information about the wine-devel mailing list