summaryrefslogtreecommitdiffstats
path: root/client/application.cpp
diff options
context:
space:
mode:
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;
}