Vitaliy Margolen wine-devel@kievinfo.com writes:
Current dinput has lots of problems with lots of games for number of different reasons (and I'm talking about just mouse). To fix some(all) of them we need to move managing of mouse warping to x11drv - only it has enough information about what programs doing to the cursor. And to make it work all we really need is to make GetCursorPos returned cached cursor position and not the latest from X.
GetCursorPos really needs to query X, because there's no guarantee that the app is processing X events, and even if we hack around that we won't receive events from other processes anyway. Now it probably doesn't need to update cursor_pos asynchronously, we could wait for the X events to do that; but I'm not sure if that would help with your problem.