On Thu Aug 7 19:08:42 2025 +0000, Rémi Bernon wrote:
Fwiw you can create different device types in the tests and check whether autocenter has a different default value, but I suspect like @TomaszPakula says, that it's just unspecified behavior. The DInput autocenter feature doesn't seem to be well defined, even on the HID PID side, and sends a generic (reset / stop all) command that drivers are free to interpret the way they like.
I hacked together [some ugly Windows code](https://github.com/twhitehead/issue-wine-ff-autocenter) to test all possible setting of `DIPROP_AUTOCENTER` (not set, set `DIPROPAUTOCENTER_OFF`, and set `DIPROPAUTOCENTER_ON`). There is a precompiled version in the `bin` directory. It * gets the initial `DIPROP_AUTOCENTER` value and show that in a message box * acquires the device with the intial `DIPROP_AUTOCENTER` and prompts to continue, * acquires the device after setting `DIPROP_AUTOCENTER` to `DIPROPAUTOCENTER_OFF` and prompts to continue, and * acquires the device after setting `DIPROP_AUTOCENTER` to `DIPROPAUTOCENTER_ON` and prompts to continue.
For the original Wine code, there was perfect agreement using my USB Sidewinder 2 * the default value is `DIPROPAUTOCENTER_ON`, * when acquired without setting `DIPROP_AUTOCENTER` the default value, I feel the spring effect, * when acquired after explicitly setting `DIPROPAUTOCENTER_OFF`, I feel it go limp, and * when acquired after explicitly setting `DIPROPAUTOCENTER_ON`, I feel the spring effect.
Based on this merged code, I would expect it will now be stuck in `DIPROPAUTOCENTER_ON` for older kernels and `DIPROPAUTOCENTER_OFF` for newer kernels.