mirror of
https://github.com/godotengine/godot.git
synced 2025-10-15 02:49:24 +00:00
Merge pull request #110823 from Calinou/ui-builtin-actions-all-devices
Allow all gamepad devices for built-in `ui_*` input actions
This commit is contained in:
@@ -1188,11 +1188,12 @@ String InputEventJoypadMotion::to_string() {
|
||||
return vformat("InputEventJoypadMotion: axis=%d, axis_value=%.2f", axis, axis_value);
|
||||
}
|
||||
|
||||
Ref<InputEventJoypadMotion> InputEventJoypadMotion::create_reference(JoyAxis p_axis, float p_value) {
|
||||
Ref<InputEventJoypadMotion> InputEventJoypadMotion::create_reference(JoyAxis p_axis, float p_value, int p_device) {
|
||||
Ref<InputEventJoypadMotion> ie;
|
||||
ie.instantiate();
|
||||
ie->set_axis(p_axis);
|
||||
ie->set_axis_value(p_value);
|
||||
ie->set_device(p_device);
|
||||
|
||||
return ie;
|
||||
}
|
||||
@@ -1307,10 +1308,11 @@ String InputEventJoypadButton::to_string() {
|
||||
return vformat("InputEventJoypadButton: button_index=%d, pressed=%s, pressure=%.2f", button_index, p, pressure);
|
||||
}
|
||||
|
||||
Ref<InputEventJoypadButton> InputEventJoypadButton::create_reference(JoyButton p_btn_index) {
|
||||
Ref<InputEventJoypadButton> InputEventJoypadButton::create_reference(JoyButton p_btn_index, int p_device) {
|
||||
Ref<InputEventJoypadButton> ie;
|
||||
ie.instantiate();
|
||||
ie->set_button_index(p_btn_index);
|
||||
ie->set_device(p_device);
|
||||
|
||||
return ie;
|
||||
}
|
||||
|
@@ -339,7 +339,8 @@ public:
|
||||
virtual String as_text() const override;
|
||||
virtual String to_string() override;
|
||||
|
||||
static Ref<InputEventJoypadMotion> create_reference(JoyAxis p_axis, float p_value);
|
||||
// The default device ID is `InputMap::ALL_DEVICES`.
|
||||
static Ref<InputEventJoypadMotion> create_reference(JoyAxis p_axis, float p_value, int p_device = -1);
|
||||
|
||||
InputEventType get_type() const final override { return InputEventType::JOY_MOTION; }
|
||||
|
||||
@@ -371,7 +372,8 @@ public:
|
||||
virtual String as_text() const override;
|
||||
virtual String to_string() override;
|
||||
|
||||
static Ref<InputEventJoypadButton> create_reference(JoyButton p_btn_index);
|
||||
// The default device ID is `InputMap::ALL_DEVICES`.
|
||||
static Ref<InputEventJoypadButton> create_reference(JoyButton p_btn_index, int p_device = -1);
|
||||
|
||||
InputEventType get_type() const final override { return InputEventType::JOY_BUTTON; }
|
||||
|
||||
|
@@ -527,10 +527,8 @@ void InputEventConfigurationDialog::_input_list_item_selected() {
|
||||
} break;
|
||||
case INPUT_JOY_BUTTON: {
|
||||
JoyButton idx = (JoyButton)(int)selected->get_meta("__index");
|
||||
Ref<InputEventJoypadButton> jb = InputEventJoypadButton::create_reference(idx);
|
||||
|
||||
// Maintain selected device
|
||||
jb->set_device(_get_current_device());
|
||||
Ref<InputEventJoypadButton> jb = InputEventJoypadButton::create_reference(idx, _get_current_device());
|
||||
|
||||
_set_event(jb, jb, false);
|
||||
} break;
|
||||
|
Reference in New Issue
Block a user