Resetting Windows key state in reset_modifiers
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@547 423420c4-83ab-492f-b58f-81f9feb106b5
This commit is contained in:
parent
58c2cbd12a
commit
d22aeb2015
13
xkeymap.c
13
xkeymap.c
@ -276,6 +276,17 @@ send_winkey(uint32 ev_time, BOOL pressed, BOOL leftkey)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
reset_winkey(uint32 ev_time)
|
||||||
|
{
|
||||||
|
if (g_use_rdp5)
|
||||||
|
{
|
||||||
|
/* For some reason, it seems to suffice to release
|
||||||
|
*either* the left or right winkey. */
|
||||||
|
rdp_send_scancode(ev_time, RDP_KEYRELEASE, SCANCODE_CHAR_LWIN);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Handles, for example, multi-scancode keypresses (which is not
|
/* Handles, for example, multi-scancode keypresses (which is not
|
||||||
possible via keymap-files) */
|
possible via keymap-files) */
|
||||||
BOOL
|
BOOL
|
||||||
@ -600,6 +611,8 @@ reset_modifier_keys()
|
|||||||
!get_key_state(state, XK_Alt_R) && !get_key_state(state, XK_Mode_switch))
|
!get_key_state(state, XK_Alt_R) && !get_key_state(state, XK_Mode_switch))
|
||||||
rdp_send_scancode(ev_time, RDP_KEYRELEASE, SCANCODE_CHAR_RALT);
|
rdp_send_scancode(ev_time, RDP_KEYRELEASE, SCANCODE_CHAR_RALT);
|
||||||
|
|
||||||
|
reset_winkey(ev_time);
|
||||||
|
|
||||||
rdp_send_input(ev_time, RDP_INPUT_SYNCHRONIZE, 0, ui_get_numlock_state(state), 0);
|
rdp_send_input(ev_time, RDP_INPUT_SYNCHRONIZE, 0, ui_get_numlock_state(state), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user