considering modifier keys after gaining focus

Oliver Schmidt oschmidt-mailinglists@gmx.de
Tue Aug 16 15:31:00 GMT 2011


Hi,

I had the problem, that the state of the modifier keys was lost when a 
window is created (or raised).

Example: in window A Ctrl + some key opens a window B, then in window B 
Ctrl + some other key triggers the next action. However after the 
opening of window B the Ctrl key has to be released and pressed again. 
If the user keeps the Ctrl key holding when the window B is opened, the 
next key press X will be interpreted as X and not as Ctrl+X.

I send a patch to fix this problem with this email: I just extended the 
function winRestoreModeKeyStates in winkeybd.c to consider not only the 
mode switch key but also the modifiers Ctrl, Shift, Alt/AltGr by using 
the Windows function GetAsyncKeyState.

This patch works fine for me.

However one problem is unsolved: if the key combination for opening 
window B (in the above example) is an AltGr key combination, the 
GetAsyncKeyState will also report, that the Ctrl key is pressed, which 
is not true, since this is the well known Windows fake Ctrl_L :-(

Any suggestions how to solve this?

Best regards,
Oliver
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: diff03.txt
URL: <http://cygwin.com/pipermail/cygwin-xfree/attachments/20110816/e1aacaaa/attachment.txt>
-------------- next part --------------
--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://x.cygwin.com/docs/
FAQ:                   http://x.cygwin.com/docs/faq/


More information about the Cygwin-xfree mailing list