Callbacks while app is looping

Ove Kaaven ovek at
Sun May 4 23:43:25 CDT 2003

fre, 02.05.2003 kl. 21.03 skrev Mike Hearn:
> > Well, the wine DInput implentation keeps an internal map of key states and 
> > updates these when an event happens.  Its just this badly written bit of code 
> > thats using it to wait for a keyboard event :)
> I suspect the actual problem is that keyboard hooks require the app to
> be processing messages in order to function. In fact, run that test app
> in desktop mode - you'll see that it works fine, presumably because the
> desktop continues processing messages even when the app within it is
> not.
> I'm not sure what to do about this, it'd seem sensible to have X11
> events processed by the service thread, but I suspect there are reasons
> why this isn't the case.

Even so, the current thread can and should still process its incoming
X11 events whenever it needs to. Adding an event-checking (but otherwise
no-op) construct like MsgWaitForMultipleObjectsEx(0, NULL, 0, 0, 0); to
GetDeviceState and GetDeviceData should be able to make this happen.

More information about the wine-devel mailing list