Patch to make X11DRV_GetAsyncKeyState work for TacOps

Mike McCormack mike at
Thu Jan 25 03:42:25 CST 2007

Martin Cracauer wrote:

> The game "TacOps" (a standalone 2D wargame, not to be mixed up with
> the Unreal mod "Tac Ops") uses home-grown scrollbars.  They have
> autorepeat, that means holding the mouse button on the "down" or "up"
> icons will continue to scroll until you release the button.  Without
> the appended patch Wine will never notice when you release the mouse
> button.  That effectively means an application hang since you can
> never do anything else anymore, as the game continue to execute "down"
> autorepeat.

You'll probably need Alexandre's comment on this, but it doesn't look 
correct to me.

Querying the X server for the key state on each call to GetAsyncKeyState 
bypasses the input queue, and is likely to cause applications that poll 
GetAsyncKeyState to slow down...

This is likely to be a tricky problem to solve, as you need to run 
Wine's X11 message loop, but Wine currently only does that when the 
application waits for input.


More information about the wine-devel mailing list