diff options
Diffstat (limited to 'core/input/input_event.cpp')
-rw-r--r-- | core/input/input_event.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/core/input/input_event.cpp b/core/input/input_event.cpp index 46f07fe041..19e4d6182a 100644 --- a/core/input/input_event.cpp +++ b/core/input/input_event.cpp @@ -484,7 +484,10 @@ Ref<InputEventKey> InputEventKey::create_reference(Key p_keycode, bool p_physica ie->set_keycode(p_keycode & KeyModifierMask::CODE_MASK); } - ie->set_unicode(char32_t(p_keycode & KeyModifierMask::CODE_MASK)); + char32_t ch = char32_t(p_keycode & KeyModifierMask::CODE_MASK); + if (ch < 0xd800 || (ch > 0xdfff && ch <= 0x10ffff)) { + ie->set_unicode(ch); + } if ((p_keycode & KeyModifierMask::SHIFT) != Key::NONE) { ie->set_shift_pressed(true); |