I agree that splitting up the patches is a good idea, but is it necessary that we continue supporting XInput 2.0? 2.1 was released in 2011 and I doubt many people running the latest versions of wine are going to be on such an ancient xserver.
Also, I am not quite sure what you mean by replacing the existing code with the rawinput version. Windows raw-input still operates on ints, and XI2 only sends rawmotion mouse events in raw_values as whole numbers, even if they're floats. However, when getting the data from valuators.values, there are not whole due from mouse acceleration / scaling. Even if we did send the floats to wineserver, I don't know how we'd transform them ourselves to match what the DE does ourselves.
On Mon, Jul 29, 2019 at 10:14 AM Rémi Bernon rbernon@codeweavers.com wrote:
This would benefit from a split between xinput 2.1 request (as attached for example) and the original raw-input related patch.
Also, I believe you can completely replace the existing code with you raw input version, and remove all the "extra" level used for cursor clipping.
This also means that the "Don't react to small slow mouse movements." patch may now be obsolete as the raw values will directly be passed to the server.
As a related note, also for the next patch in the serie, AFAICS Windows raw values for X/Y movements are the same between Windows and XInput2, but I see a 8x scaling factor for the mouse wheel values that may be missing. -- Rémi Bernon rbernon@codeweavers.com