https://bugs.winehq.org/show_bug.cgi?id=51922
--- Comment #22 from Ivo Ivanov logos128@gmail.com --- (In reply to mirh from comment #21)
There's seems to be a bit of a kernel conundrum here gentlemen.
Interesting. It seems that some devices like Accuforce don't interpret 0 as an 'infinite' value. I have a SimuCube 2 which works properly with 0 for replay length. If we set this to 0xffff, though, it may cause issues with some of the ff-memless devices, as mentioned in the linux kernel discussion. IMO let's wait for the kernel devs to handle this properly.
Anyway, the hidraw backend (winebus.sys) is preferred for use with such devices in Wine, as it enables Windows apps to access the device directly through HidD/HidP calls. This would allow advanced features like setting "end of rotation bumpstops" or even sending additional ffb effects, as the Accuforce app does IIRC. It also solves the above issue.