http://bugs.winehq.org/show_bug.cgi?id=6971
--- Comment #217 from Forest Hale lordhavoc@ghdigital.com 2009-01-17 19:38:10 ---
From your comment I think I may have a misunderstanding about DirectInput -
does it lock the mouse cursor position like DGA does? Or does it still allow the mouse cursor to move around, yet still report relative motion even if the mouse cursor is confined (by ClipCursor)?
If it locks the mouse cursor position, then DGA does exactly what is wanted, if it does not lock the mouse cursor position then it is indeed a missing feature in the xlib and xorg API.
If that's the case, the only solution short of Input2 is to do full emulation of the X mouse cursor using DGA - using DGA to capture relative motion, and updating the X cursor by warping, thus achieving an identical behavior. (Obviously only while DInput is acquired in the app)
Perhaps someone who has free time (not in the core wine team obviously) would like to take a stab at this DGA mouse cursor emulation, it would work far more reliably than any of these game-specific hacks that keep being contributed.
I hope Input2 is coming quickly, but it's been pushed off more than once.