diff --git a/core/input/input_filter.cpp b/core/input/input_filter.cpp index 2e8442a9051..3957bbed3db 100644 --- a/core/input/input_filter.cpp +++ b/core/input/input_filter.cpp @@ -67,6 +67,7 @@ void InputFilter::_bind_methods() { ClassDB::bind_method(D_METHOD("is_key_pressed", "keycode"), &InputFilter::is_key_pressed); ClassDB::bind_method(D_METHOD("is_mouse_button_pressed", "button"), &InputFilter::is_mouse_button_pressed); ClassDB::bind_method(D_METHOD("is_joy_button_pressed", "device", "button"), &InputFilter::is_joy_button_pressed); + ClassDB::bind_method(D_METHOD("is_action_empty"), &InputFilter::is_action_empty); ClassDB::bind_method(D_METHOD("is_action_pressed", "action"), &InputFilter::is_action_pressed); ClassDB::bind_method(D_METHOD("is_action_just_pressed", "action"), &InputFilter::is_action_just_pressed); ClassDB::bind_method(D_METHOD("is_action_just_released", "action"), &InputFilter::is_action_just_released); @@ -215,6 +216,10 @@ bool InputFilter::is_joy_button_pressed(int p_device, int p_button) const { return joy_buttons_pressed.has(_combine_device(p_button, p_device)); } +bool InputFilter::is_action_empty() const { + return action_state.empty(); +} + bool InputFilter::is_action_pressed(const StringName &p_action) const { return action_state.has(p_action) && action_state[p_action].pressed; diff --git a/core/input/input_filter.h b/core/input/input_filter.h index 908a0052283..abf47f52756 100644 --- a/core/input/input_filter.h +++ b/core/input/input_filter.h @@ -244,6 +244,7 @@ class InputFilter : public Object { bool is_key_pressed(int p_keycode) const; bool is_mouse_button_pressed(int p_button) const; bool is_joy_button_pressed(int p_device, int p_button) const; + bool is_action_empty() const; bool is_action_pressed(const StringName &p_action) const; bool is_action_just_pressed(const StringName &p_action) const; bool is_action_just_released(const StringName &p_action) const;