summaryrefslogtreecommitdiffstats
path: root/platform/windows/display_server_windows.cpp
diff options
context:
space:
mode:
authorbruvzg <7645683+bruvzg@users.noreply.github.com>2024-11-06 09:47:08 +0200
committerbruvzg <7645683+bruvzg@users.noreply.github.com>2024-11-06 09:47:26 +0200
commitfdde7713a87aa84f0516b73a6b4820054b510227 (patch)
treee97a57a7e8940540b5557a79d3e502f765ae4411 /platform/windows/display_server_windows.cpp
parent87318a2fb7fffeb72adca934e31915be077c3d1f (diff)
downloadredot-engine-fdde7713a87aa84f0516b73a6b4820054b510227.tar.gz
Fix IME deactivation events not send on focus loss. Do not unset AltGr modifiers in non-IME input.
Diffstat (limited to 'platform/windows/display_server_windows.cpp')
-rw-r--r--platform/windows/display_server_windows.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/platform/windows/display_server_windows.cpp b/platform/windows/display_server_windows.cpp
index a06395ae3a..a6eab1bd29 100644
--- a/platform/windows/display_server_windows.cpp
+++ b/platform/windows/display_server_windows.cpp
@@ -5438,7 +5438,7 @@ void DisplayServerWindows::_process_key_events() {
k->set_physical_keycode(physical_keycode);
k->set_key_label(key_label);
k->set_unicode(fix_unicode(unicode));
- if (k->get_unicode() && ke.altgr) {
+ if (k->get_unicode() && ke.altgr && windows[ke.window_id].ime_active) {
k->set_alt_pressed(false);
k->set_ctrl_pressed(false);
}
@@ -5514,7 +5514,7 @@ void DisplayServerWindows::_process_key_events() {
}
k->set_unicode(fix_unicode(unicode));
}
- if (k->get_unicode() && ke.altgr) {
+ if (k->get_unicode() && ke.altgr && windows[ke.window_id].ime_active) {
k->set_alt_pressed(false);
k->set_ctrl_pressed(false);
}