Takuma Murakami wrote:
I have made a patch to improve keyboard handling. Any comments would be appreciated.
The changes are:
1) win.h, winkeybd.c, winwndproc.c - Improve the synchronization of mode key states between XWin and Windows.
2) winmultiwindowwndproc.c - Enable mode key synchronization in -multiwindow mode.
Actually, now I am a little doubtful that this patch is complete. If I recall correctly, we are merely enqueueing input events into a queue that the mi layer processes later. Checking the mode key states within the X server will only indicate what the mi layer currently knows about the mode key states. The my layer would not know that there are messages in its queue that change the state of the mode keys.
I also recall that there is a way to force the mi layer to process all input events (miProcessInputEvents ?) and that this could be called before querying the state of the mode key states in order to get a consistent result.
Please respond to this either with a rebuttal or a different patch. I don't think I can commit the existing patch until then.
Harold
