summaryrefslogtreecommitdiffstats
path: root/client/application.cpp
diff options
context:
space:
mode:
authorArnon Gilboa <agilboa@redhat.com>2009-11-17 16:44:50 +0200
committerYaniv Kamay <ykamay@redhat.com>2009-11-18 13:25:06 +0200
commit8b36ed546068bd365c1345f937f3b26cd2b7d0d4 (patch)
tree388631161080e88d28b9ef7b0282706447061505 /client/application.cpp
parent6ff080c0f8b4df4c6113855f59c894605bdcc45c (diff)
downloadspice-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.cpp12
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;
}