xserver-multidpi/hw
Oliver Schmidt 11bb32e561 hw/xwin: Restore non-latching modifier key state when an X window gains focus
In multiwindow mode, the state of the modifier keys was lost when a window is
created (or raised) and focus moved to that window.

For 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 held down when the window B is opened, the next key press X will be
interpreted as X and not as Ctrl+X.

Extended the function winRestoreModeKeyStates in winkeybd.c to consider not only
the latching modifier keys but also the modifiers Ctrl, Shift, Alt/AltGr by
using the Windows function GetAsyncKeyState.

A combined Ctrl+AltGr modifier state cannot be restored correctly, as Windows
always fakes a Ctrl-L when AltGr is pressed.

Signed-off-by: Oliver Schmidt <oschmidt-mailinglists@gmx.de>
Reviewed-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
2012-11-27 16:09:08 +00:00
..
dmx dix: Remove refs to mi backing store from docs 2012-09-23 10:31:39 -07:00
kdrive Revert "kinput: allocate enough space for null character." 2012-10-07 12:25:53 -07:00
vfb dix: Remove #includes of mibstore.h 2012-09-23 10:31:27 -07:00
xfree86 linux: Prefer ioctl(KDSKBMUTE, 1) over ioctl(KDSKBMODE, K_OFF) 2012-11-19 12:13:39 +10:00
xnest dix: Remove #includes of mibstore.h 2012-09-23 10:31:27 -07:00
xquartz XQuartz: Opt-in to NSSupportsAutomaticGraphicsSwitching 2012-11-17 11:52:10 -05:00
xwin hw/xwin: Restore non-latching modifier key state when an X window gains focus 2012-11-27 16:09:08 +00:00
Makefile.am Catch errors in recursive relink targets 2010-03-22 00:45:57 -05:00