diff options
author | Arnon Gilboa <agilboa@redhat.com> | 2009-11-17 16:44:50 +0200 |
---|---|---|
committer | Yaniv Kamay <ykamay@redhat.com> | 2009-11-18 13:25:06 +0200 |
commit | 8b36ed546068bd365c1345f937f3b26cd2b7d0d4 (patch) | |
tree | 388631161080e88d28b9ef7b0282706447061505 /client/application.cpp | |
parent | 6ff080c0f8b4df4c6113855f59c894605bdcc45c (diff) | |
download | spice-8b36ed546068bd365c1345f937f3b26cd2b7d0d4.tar.gz spice-8b36ed546068bd365c1345f937f3b26cd2b7d0d4.tar.xz spice-8b36ed546068bd365c1345f937f3b26cd2b7d0d4.zip |
spice: on toggle_full_screen, generate on_key_down if shift is still pressed
Diffstat (limited to 'client/application.cpp')
-rw-r--r-- | client/application.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/client/application.cpp b/client/application.cpp index 42a65f6c..db930400 100644 --- a/client/application.cpp +++ b/client/application.cpp @@ -1231,11 +1231,23 @@ void Application::exit_full_screen() bool Application::toggle_full_screen() { + RedKey shift_pressed = REDKEY_INVALID; + + if (_key_table[REDKEY_L_SHIFT].press) { + shift_pressed = REDKEY_L_SHIFT; + } else if (_key_table[REDKEY_R_SHIFT].press) { + shift_pressed = REDKEY_R_SHIFT; + } if (_full_screen) { exit_full_screen(); } else { enter_full_screen(); } + uint32_t modifiers = Platform::get_keyboard_modifiers(); + if ((shift_pressed == REDKEY_L_SHIFT && (modifiers & Platform::L_SHIFT_MODIFIER)) || + (shift_pressed == REDKEY_R_SHIFT && (modifiers & Platform::R_SHIFT_MODIFIER))) { + on_key_down(shift_pressed); + } return _full_screen; } |