https://bugs.winehq.org/show_bug.cgi?id=56208
Rémi Bernon rbernon@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |rbernon@codeweavers.com
--- Comment #2 from Rémi Bernon rbernon@codeweavers.com --- I think we'll need to keep the absolute positions somehow, in order for the Wine cursor position to be kept in sync with X11. Using rawinput relative input only doesn't seem realistic.
Then, my plan is find a way to listen to input separately from the windows message polling, because that simply breaks too many things, and is suboptimal anyway. I am currently investigating some idea to have a X11 client inside wineserver, which would do that very nicely.
Once this is done, and assuming that input is continuously listened on regardless of what the applications are doing, it will be possible to ditch GetCursorPos roundtrip to the X server entirely and assume that wineserver position is the reference position.
The way it currently works is broken anyway, as going to X11 only from time to time you just get an up to date position once in a while, and an outdated position every other time. But it is still required for now because of applications which use GetCursorPos but never poll their messages.