Fix handling multiple "physical key" events in the single input map action.
This commit is contained in:
parent
a4fbb67902
commit
a975682ef6
|
@ -452,9 +452,14 @@ bool InputEventKey::is_match(const Ref<InputEvent> &p_event, bool p_exact_match)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (keycode == 0) {
|
||||||
|
return physical_keycode == key->physical_keycode &&
|
||||||
|
(!p_exact_match || get_modifiers_mask() == key->get_modifiers_mask());
|
||||||
|
} else {
|
||||||
return keycode == key->keycode &&
|
return keycode == key->keycode &&
|
||||||
(!p_exact_match || get_modifiers_mask() == key->get_modifiers_mask());
|
(!p_exact_match || get_modifiers_mask() == key->get_modifiers_mask());
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void InputEventKey::_bind_methods() {
|
void InputEventKey::_bind_methods() {
|
||||||
ClassDB::bind_method(D_METHOD("set_pressed", "pressed"), &InputEventKey::set_pressed);
|
ClassDB::bind_method(D_METHOD("set_pressed", "pressed"), &InputEventKey::set_pressed);
|
||||||
|
|
Loading…
Reference in New Issue