What needs to be done to make the mouse work?
Ok, further testing (using --debugmsg -all,+cursor)
Moving the mouse cursor around shows that it appears while being moved but not otherwise. Analysis of log files show up a few details, a snippet from the logfile is attached
<snip> trace:cursor:X11DRV_GetCursorPos pointer at (417,549) trace:cursor:send_mouse_event (0001,12,3) trace:cursor:X11DRV_GetCursorPos pointer at (417,549) trace:cursor:send_mouse_event (0001,7,5) trace:cursor:send_mouse_event (0001,4,4) trace:cursor:send_mouse_event (0001,3,2) trace:cursor:X11DRV_GetCursorPos pointer at (417,549) trace:cursor:send_mouse_event (0001,2,2) trace:cursor:X11DRV_GetCursorPos pointer at (417,549) trace:cursor:send_mouse_event (0001,1,0) trace:cursor:X11DRV_GetCursorPos pointer at (417,549) trace:cursor:send_mouse_event (0001,0,1) trace:cursor:send_mouse_event (0001,0,1) trace:cursor:X11DRV_GetCursorPos pointer at (417,549) trace:cursor:send_mouse_event (0001,0,2) trace:cursor:send_mouse_event (0001,-1,2) trace:cursor:X11DRV_GetCursorPos pointer at (417,549) trace:cursor:send_mouse_event (0001,-1,0) trace:cursor:X11DRV_GetCursorPos pointer at (417,549) </snip>
Relative mouse motions are being picked up correctly, however X11DRV_GetCursorPos is always returning the same co-ordinate, which is probably where the cursor last was before running the game (Total Annihilation, in this case).
Moving the cursor to the button and clicking saw the button respond, meaning click events were being properly received and the game had the 'correct' cursor position.
I'm not familiar with the wine codebase, any pointers on fixing this?