diff options
author | Frixuu <kontakt@lukasz.xyz> | 2021-09-17 03:07:59 +0200 |
---|---|---|
committer | Frixuu <kontakt@lukasz.xyz> | 2021-09-21 00:03:02 +0200 |
commit | 650e63a7ca433e70ab458893f1dcbb8820278d86 (patch) | |
tree | 2416b7d41bc9a0bd160dbe4631cd89f5d0dbd537 /platform/linuxbsd/key_mapping_x11.cpp | |
parent | 2d1699ef82a29ef65d810194ee76dddc0d9e0389 (diff) | |
download | redot-engine-650e63a7ca433e70ab458893f1dcbb8820278d86.tar.gz |
Allow for mapping keycodes to current layout
Diffstat (limited to 'platform/linuxbsd/key_mapping_x11.cpp')
-rw-r--r-- | platform/linuxbsd/key_mapping_x11.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/platform/linuxbsd/key_mapping_x11.cpp b/platform/linuxbsd/key_mapping_x11.cpp index a1ef28234d..829feda40a 100644 --- a/platform/linuxbsd/key_mapping_x11.cpp +++ b/platform/linuxbsd/key_mapping_x11.cpp @@ -309,6 +309,18 @@ unsigned int KeyMappingX11::get_scancode(unsigned int p_code) { return keycode; } +unsigned int KeyMappingX11::get_xlibcode(unsigned int p_keysym) { + unsigned int code = 0; + for (int i = 0; _scancode_to_keycode[i].keysym != KEY_UNKNOWN; i++) { + if (_scancode_to_keycode[i].keysym == p_keysym) { + code = _scancode_to_keycode[i].keycode; + break; + } + } + + return code; +} + Key KeyMappingX11::get_keycode(KeySym p_keysym) { // kinda bruteforce.. could optimize. |