Merge pull request #77993 from bruvzg/key_lbl_from_p
Implement DisplayServer.keyboard_get_label_from_physical method.
This commit is contained in:
commit
ff689003a5
9 changed files with 84 additions and 0 deletions
|
|
@ -433,6 +433,7 @@ public:
|
|||
virtual String keyboard_get_layout_language(int p_index) const override;
|
||||
virtual String keyboard_get_layout_name(int p_index) const override;
|
||||
virtual Key keyboard_get_keycode_from_physical(Key p_keycode) const override;
|
||||
virtual Key keyboard_get_label_from_physical(Key p_keycode) const override;
|
||||
|
||||
virtual void process_events() override;
|
||||
virtual void force_process_and_drop_events() override;
|
||||
|
|
|
|||
|
|
@ -3499,6 +3499,17 @@ Key DisplayServerMacOS::keyboard_get_keycode_from_physical(Key p_keycode) const
|
|||
return (Key)(KeyMappingMacOS::remap_key(macos_keycode, 0, false) | modifiers);
|
||||
}
|
||||
|
||||
Key DisplayServerMacOS::keyboard_get_label_from_physical(Key p_keycode) const {
|
||||
if (p_keycode == Key::PAUSE || p_keycode == Key::NONE) {
|
||||
return p_keycode;
|
||||
}
|
||||
|
||||
Key modifiers = p_keycode & KeyModifierMask::MODIFIER_MASK;
|
||||
Key keycode_no_mod = p_keycode & KeyModifierMask::CODE_MASK;
|
||||
unsigned int macos_keycode = KeyMappingMacOS::unmap_key(keycode_no_mod);
|
||||
return (Key)(KeyMappingMacOS::remap_key(macos_keycode, 0, true) | modifiers);
|
||||
}
|
||||
|
||||
void DisplayServerMacOS::process_events() {
|
||||
_THREAD_SAFE_METHOD_
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue