TL DR: The point about good defaults is a good one. I believe there are more wheels than joysticks, so in the interest of limiting the need to override I will add a further path to change the Wine default to be off unless the device name contains the work _joystick_. If anyone has a better heuristic, I am all ears.
Not tagging Tomasz as he has requested. I can tell my persistence has been frustrating for Tomasz. His refusal to engage with me to find a better solution than just stripping `DIPROP_AUTOCENTER` support out has been frustrating for me too.
I am glad he clarified that the high level problem is that the simracing community has been suffering from autocentering on on their devices. This makes sense. The focus on [USB PID](https://www.usb.org/sites/default/files/documents/pid1_01.pdf) and how devices implement autocentering didn't make sense as that could only be pertinent to the udev hidraw backend. The SDL and udev input backends control devices entirely through the kernel API. Wine doesn't know or care how the device works for these backends.
Wine always explicitly turns autocenter on or off to match `DIPROP_AUTOCENTER`. If it is on, it is because `DIPROP_AUTOCENTER` is `DIPROPAUTOCENTER_ON`. If it is off, it is because `DIPROP_AUTOCENTER` is `DIPROPAUTOCENTER_OFF`. This is how Windows works. The only potential difference from Windows is the initial value. Programs that rely on a particular initial values instead of checking and setting won't work if the Wine initial value is different than the Windows initial value.
The initial value in Wine is `DIPROPAUTOCENTER_ON`. This was based on my Sidewinder 2. It is most likely correct for joysticks given the lack of complaints about them. It is almost certain incorrect for wheels given what Tomasz has said about the sim racing community suffering from autocentering on. It would be nice if Tomasz would run the [test program](https://github.com/twhitehead/issue-wine-ff-autocenter) I wrote to verify this on his own wheel like I have repeatedly requested, but I guess that isn't strictly necessary.
I read wheels are now the dominate force feedback devices (more sim racers than flyers?), so I will add a further commit to only make the default on if the devices name contains the word _joystick_ and off otherwise. This will miss joysticks without _joystick_ in their name, like the _Logitech WingMan_, so, if anyone has a better idea how to differentiate between wheels and joysticks, please speak up.
Thanks to everyone for continuing with this!