It looks to me like Elite is doing exactly what is described in your link - so that change fixes my problem. So I'm happy to ditch this patch in favour of that.
On 21 November 2018 12:56:31 am AEDT, Andrew Eikum aeikum@codeweavers.com wrote:
On Tue, Nov 20, 2018 at 12:53:21PM +1100, Brendan McGrath wrote:
Here's the commit from Proton that removed the masquerade. Native
xinput
wasn't something I had thought of. That could be why it's there.
Oh yeah, I remember that now. I wonder if the right answer isn't just to apply that same change to Wine.
Andrew
commit 4d49baf4566d8343055424467bad5e2958390103 Author: Andrew Eikum aeikum@codeweavers.com Date: Fri Aug 3 12:36:21 2018 -0500
winebus: Don't override real VID/PID for controllers
It's unclear what this was useful for, possibly native xinput
requires
it. Our built-in xinput is good enough now, though, so let's keep
the
real VID/PID. This lets applications match setupapi devices with
dinput
devices, see:
"XInput and DirectInput"
https://docs.microsoft.com/en-us/windows/desktop/xinput/xinput-and-directinp...
On 20/11/18 12:37 pm, Brendan McGrath wrote:
I'm not a fan of the registry hack either - it should be plug and
play.
To match Windows functionality would be to remove the masquerade
(as
Proton has). That would fix my problem - but potentially create an
issue
for other games that are dependant on this masquerade (although I'm
not
familiar with the reasons behind its inclusion).
Perhaps a compromise is to keep this registry hack but have it
default
to use the real VID and PID. Then it matches Windows but there is
still
an option for those who need the masquerade (and they can choose
the
device to which they masquerade).
On 20/11/18 12:17 pm, Zebediah Figura wrote:
Be that as it may, I'm not sure that a registry hack is the
approach
we want to take. If the game doesn't work with controllers that don't report themselves as gamepads, but should, then we should
fix
it to work.
At the same time, as regards your original problem, we should
look
to rewrite the dinput joystick code on top of Wine's HID stack,
so
that it will report the same VID/PID as xinput does. I believe
Aric
is working on some patches to this effect ;-)