From: Andrew Oates Date: Sat, 24 May 2014 00:16:09 +0000 (-0400) Subject: input (curses): mask keycodes to remove modifier bits X-Git-Tag: qemu-xen-4.5.0-rc1^2~66 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=b203bba0ce2ba575e91f977d762943475e402ab8;p=qemu-upstream-4.5-testing.git input (curses): mask keycodes to remove modifier bits Without the mask, control bits are passed on in the keycode, generating incorrect PS/2 sequences when SHIFT, ALT, etc are held down. Cc: qemu-stable@nongnu.org Signed-off-by: Andrew Oates Signed-off-by: Gerd Hoffmann (cherry picked from commit f5c0ab131265270c1e7852ec0d4e284a219d63d4) Signed-off-by: Michael Roth --- diff --git a/ui/curses.c b/ui/curses.c index b044790e4..de85f7610 100644 --- a/ui/curses.c +++ b/ui/curses.c @@ -288,8 +288,8 @@ static void curses_refresh(DisplayChangeListener *dcl) qemu_input_event_send_key_number(NULL, GREY | ALT_CODE, true); } - qemu_input_event_send_key_number(NULL, keycode, true); - qemu_input_event_send_key_number(NULL, keycode, false); + qemu_input_event_send_key_number(NULL, keycode & KEY_MASK, true); + qemu_input_event_send_key_number(NULL, keycode & KEY_MASK, false); if (keycode & ALTGR) { qemu_input_event_send_key_number(NULL, GREY | ALT_CODE, false);