diff options
| author | Peter Maydell <peter.maydell@linaro.org> | 2019-02-05 14:01:29 +0000 |
|---|---|---|
| committer | Peter Maydell <peter.maydell@linaro.org> | 2019-02-05 14:01:29 +0000 |
| commit | 01a9a51ffaf4699827ea6425cb2b834a356e159d (patch) | |
| tree | 9e068156b4102402649fcbceb8c3a2e462cfae25 /ui/sdl2.c | |
| parent | 1c3d45df5e94042d5fb2bb31416072563ab30e49 (diff) | |
| parent | 19c1b9fd3dd5955893c0d3c187a4180313e9a0f1 (diff) | |
| download | focaccia-qemu-01a9a51ffaf4699827ea6425cb2b834a356e159d.tar.gz focaccia-qemu-01a9a51ffaf4699827ea6425cb2b834a356e159d.zip | |
Merge remote-tracking branch 'remotes/kraxel/tags/ui-20190205-pull-request' into staging
ui: add kbd stats tracker. ui: gtk scroll fixes. ui: egl cursor scale fix. ui: more sdl1 cleanup. # gpg: Signature made Tue 05 Feb 2019 10:57:42 GMT # gpg: using RSA key 4CB6D8EED3E87138 # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" [full] # gpg: aka "Gerd Hoffmann <gerd@kraxel.org>" [full] # gpg: aka "Gerd Hoffmann (private) <kraxel@gmail.com>" [full] # Primary key fingerprint: A032 8CFF B93A 17A7 9901 FE7D 4CB6 D8EE D3E8 7138 * remotes/kraxel/tags/ui-20190205-pull-request: keymap: fix keyup mappings keymap: pass full keyboard state to keysym2scancode kbd-state: use state tracker for vnc kbd-state: use state tracker for gtk sdl2: use only QKeyCode in sdl2_process_key() kbd-state: use state tracker for sdl2 sdl2: remove sdl2_reset_keys() function kbd-state: add keyboard state tracker ui/egl-helpers: Augment parameter list of egl_texture_blend() to convey scales of viewport ui/cocoa.m: Fix macOS 10.14 deprecation warnings ui/sdl_keysym: Remove obsolete SDL1.2 related code ui: listen for GDK_SMOOTH_SCROLL events ui: don't send any event if delta_y == 0 Remove deprecated -no-frame option Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'ui/sdl2.c')
| -rw-r--r-- | ui/sdl2.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/ui/sdl2.c b/ui/sdl2.c index cde7feba91..1277cf28fb 100644 --- a/ui/sdl2.c +++ b/ui/sdl2.c @@ -38,7 +38,6 @@ static int gui_grab; /* if true, all keyboard/mouse events are grabbed */ static int gui_saved_grab; static int gui_fullscreen; -static int gui_keysym; static int gui_grab_code = KMOD_LALT | KMOD_LCTRL; static SDL_Cursor *sdl_cursor_normal; static SDL_Cursor *sdl_cursor_hidden; @@ -330,6 +329,7 @@ static void handle_keydown(SDL_Event *ev) int win; struct sdl2_console *scon = get_scon_from_window(ev->key.windowID); int gui_key_modifier_pressed = get_mod_state(); + int gui_keysym = 0; if (!scon->ignore_hotkeys && gui_key_modifier_pressed && !ev->key.repeat) { switch (ev->key.keysym.scancode) { @@ -410,16 +410,9 @@ static void handle_keydown(SDL_Event *ev) static void handle_keyup(SDL_Event *ev) { struct sdl2_console *scon = get_scon_from_window(ev->key.windowID); - int gui_key_modifier_pressed = get_mod_state(); scon->ignore_hotkeys = false; - - if (!gui_key_modifier_pressed) { - gui_keysym = 0; - } - if (!gui_keysym) { - sdl2_process_key(scon, &ev->key); - } + sdl2_process_key(scon, &ev->key); } static void handle_textinput(SDL_Event *ev) @@ -823,6 +816,7 @@ static void sdl2_display_init(DisplayState *ds, DisplayOptions *o) sdl2_console[i].dcl.ops = &dcl_2d_ops; #endif sdl2_console[i].dcl.con = con; + sdl2_console[i].kbd = qkbd_state_init(con); register_displaychangelistener(&sdl2_console[i].dcl); #if defined(SDL_VIDEO_DRIVER_WINDOWS) || defined(SDL_VIDEO_DRIVER_X11) |