diff options
author | bruvzg <7645683+bruvzg@users.noreply.github.com> | 2022-09-02 12:37:48 +0300 |
---|---|---|
committer | bruvzg <7645683+bruvzg@users.noreply.github.com> | 2022-09-07 18:45:35 +0200 |
commit | 6f4d233062d44bd46b2f03596e72f0bc9709d2b5 (patch) | |
tree | cbd85008acd264327074698cf2e25b5f98dede6d /core/os/keyboard.cpp | |
parent | 6b92dbfce2868f71926d2720014e45af999f21be (diff) | |
download | redot-engine-6f4d233062d44bd46b2f03596e72f0bc9709d2b5.tar.gz |
Fix key mapping changes when moving from macOS to other platform
Removes separate `Command` key (use `Meta` instead).
Adds an event flag to automatically remap `Command` <-> `Control` (cannot be set alongside `Control` or `Meta`).
Diffstat (limited to 'core/os/keyboard.cpp')
-rw-r--r-- | core/os/keyboard.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/core/os/keyboard.cpp b/core/os/keyboard.cpp index a592791d06..f3be495c8e 100644 --- a/core/os/keyboard.cpp +++ b/core/os/keyboard.cpp @@ -61,12 +61,16 @@ static const _KeyCodeText _keycodes[] = { {Key::PAGEDOWN ,"PageDown"}, {Key::SHIFT ,"Shift"}, {Key::CTRL ,"Ctrl"}, -#ifdef MACOS_ENABLED +#if defined(MACOS_ENABLED) {Key::META ,"Command"}, + {Key::ALT ,"Option"}, +#elif defined(WINDOWS_ENABLED) + {Key::META ,"Windows"}, + {Key::ALT ,"Alt"}, #else {Key::META ,"Meta"}, -#endif {Key::ALT ,"Alt"}, +#endif {Key::CAPSLOCK ,"CapsLock"}, {Key::NUMLOCK ,"NumLock"}, {Key::SCROLLLOCK ,"ScrollLock"}, @@ -437,6 +441,14 @@ String keycode_get_string(Key p_code) { codestr += find_keycode_name(Key::ALT); codestr += "+"; } + if ((p_code & KeyModifierMask::CMD_OR_CTRL) != Key::NONE) { +#ifdef MACOS_ENABLED + codestr += find_keycode_name(Key::META); +#else + codestr += find_keycode_name(Key::CTRL); +#endif + codestr += "+"; + } if ((p_code & KeyModifierMask::CTRL) != Key::NONE) { codestr += find_keycode_name(Key::CTRL); codestr += "+"; |