diff --git a/core/input/input_map.cpp b/core/input/input_map.cpp index f0a050e880..a808027d43 100644 --- a/core/input/input_map.cpp +++ b/core/input/input_map.cpp @@ -205,6 +205,22 @@ void InputMap::action_add_event(const StringName &p_action, RequiredParamget_device() == 0) { + switch (p_event->get_type()) { + case InputEventType::KEY: + p_event->set_device(InputEvent::DEVICE_ID_KEYBOARD); + break; + case InputEventType::MOUSE_BUTTON: + case InputEventType::MOUSE_MOTION: + p_event->set_device(InputEvent::DEVICE_ID_MOUSE); + break; + default: + break; + } + } + input_map[p_action].inputs.push_back(p_event); }