[HTML5] Add support for physical_keycode.

This uses the `event.code` value to retrieve the physical code, while
still using the extra logic to map the unicode value to our keylist,
when computing the `scancode` (supporting ASCII and Latin-1).
This commit is contained in:
Fabio Alessandrelli 2021-03-08 10:16:22 +01:00 committed by bruvzg
parent dab4cf3ed6
commit 8740e95f15
No known key found for this signature in database
GPG key ID: 009E1BFE42239B95
2 changed files with 23 additions and 21 deletions

View file

@ -240,8 +240,8 @@ static Ref<InputEventKey> setup_key_event(const EmscriptenKeyboardEvent *emscrip
ev.instance();
ev->set_echo(emscripten_event->repeat);
dom2godot_mod(emscripten_event, ev);
ev->set_scancode(dom_code2godot_scancode(emscripten_event->code, emscripten_event->key));
ev->set_physical_scancode(dom_code2godot_scancode(emscripten_event->code, emscripten_event->key));
ev->set_scancode(dom_code2godot_scancode(emscripten_event->code, emscripten_event->key, false));
ev->set_physical_scancode(dom_code2godot_scancode(emscripten_event->code, emscripten_event->key, true));
String unicode = String::utf8(emscripten_event->key);
// Check if empty or multi-character (e.g. `CapsLock`).