aboutsummaryrefslogtreecommitdiff
path: root/sdl.c
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2006-08-17 10:42:46 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2006-08-17 10:42:46 +0000
commitdfd92d3a46c31b17fcdbd735c6f88de54bc6bd3f (patch)
tree1f1b9954ec38c909bd1f2a08103841a42fd2eb09 /sdl.c
parent4c279bdf3ae80ab194c2f8b9d27680fb4e6841a8 (diff)
reset key modifiers when switching console (aka savevm keyboard bug)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2112 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'sdl.c')
-rw-r--r--sdl.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sdl.c b/sdl.c
index 38d75536dd..00f574640a 100644
--- a/sdl.c
+++ b/sdl.c
@@ -394,6 +394,8 @@ static void sdl_refresh(DisplayState *ds)
gui_keysym = 1;
break;
case 0x02 ... 0x0a: /* '1' to '9' keys */
+ /* Reset the modifiers sent to the current console */
+ reset_keys();
console_select(keycode - 0x02);
if (!is_graphic_console()) {
/* display grab if going to a text console */
@@ -468,7 +470,7 @@ static void sdl_refresh(DisplayState *ds)
}
}
}
- if (is_graphic_console())
+ if (is_graphic_console() && !gui_keysym)
sdl_process_key(&ev->key);
break;
case SDL_QUIT: