From: "Zebediah Figura (she/her)" Subject: Re: [PATCH 5/6] xinput.sys: Create an internal PDO, on the XINPUT bus. Message-Id: <0f220dea-0f17-0652-c43e-a21185437f31@codeweavers.com> Date: Mon, 30 Aug 2021 11:23:52 -0500 In-Reply-To: <2b429534-195f-b2e3-d14b-1a3cacbf9deb@codeweavers.com> References: <20210826055904.828578-1-rbernon@codeweavers.com> <20210826055904.828578-5-rbernon@codeweavers.com> <09351bcc-3338-2d03-3256-55e6885031fe@codeweavers.com> <7808547a-0589-aa59-c17a-f4044fe4381e@codeweavers.com> <2b429534-195f-b2e3-d14b-1a3cacbf9deb@codeweavers.com> On 8/28/21 1:46 PM, Rémi Bernon wrote: > On 8/27/21 10:55 PM, Rémi Bernon wrote: >>>> -            if ((status = IoRegisterDeviceInterface(device, >>>> &GUID_DEVINTERFACE_HID, NULL, &ext->u.pdo.link_name))) >>>> +            if ((status = IoRegisterDeviceInterface(device, >>>> ext->interface_guid, NULL, &ext->u.pdo.link_name))) >>>>               { >>>>                   ERR("Failed to register interface, status %#x.\n", >>>> status); >>>>                   break; >>> >>> Any chance we could put the hidclass hunks in a separate patch? >>> >>> ... >>> >> >> That would cause the "internal" "xinput" PDO be momentarily listed in >> the HID device interface class, as a duplicate device with the gamepad, >> and although applications aren't supposed to see or use it. Not a big >> deal, bug probably not very nice. >> > > I guess it could come first though. Yeah, that's what I meant. > BTW I used the "standard" XUSB interface class there, but now that I > think of it and now that I'm moving everything to "winexinput" maybe > it's not the best idea to do that. > > Is there a general strategy on how to define Wine-specific GUIDs? Should > I just go get some randomly generated GUID and that's it? Doesn't it > have to have a specific marker to tell that it's some Wine-specific one? > I don't think there is, no. Personally I like to use regular-looking numbers for Data1 so that it's clear it's not a Windows GUID and nobody needs to waste time looking it up (this is even more true in tests), but there's no requirement for it.