### Godot version

4.0, 4.0.1

### System information

Windows 10

### Issue description

If Steam is open on your computer, input from a controller can be incorrectly detected as an InputEventKey. Closing Steam corrects this error.

Controller inputs should never be detected as an InputEventKey: According to the current documentation an InputEventKey is [only for keyboard events.](https://docs.godotengine.org/en/4.0/classes/class_inputeventkey.html)

**Video demonstration:** https://youtu.be/9krmPx9vYoc
**Controller used:** Dualshock 4

### Steps to reproduce

1. Run minimal reproduction project (or a script with the following code):
```
func _input(event : InputEvent) -> void:
	if event is InputEventKey:
		print ("Keyboard Event Detected")
```
2. Test if "Keyboard Event Detected" prints on Controller input with Steam open vs. with Steam closed. 

### Minimal reproduction project

[InputEventKey Controller Test.zip](https://github.com/godotengine/godot/files/11106151/InputEventKey.Controller.Test.zip)
uint64_t last_parsed_frame = UINT64_MAX;
#endif
	friend class DisplayServer;
	static void (*set_mouse_mode_func)(MouseMode);
	static MouseMode (*get_mouse_mode_func)();
	static void (*warp_mouse_func)(const Vector2 &p_position);
	static CursorShape (*get_current_cursor_shape_func)();
	static void (*set_custom_mouse_cursor_func)(const Ref<Resource> &, CursorShape, const Vector2 &);
	EventDispatchFunc event_dispatch_function = nullptr;
protected:
	static void _bind_methods();
public:
	void set_mouse_mode(MouseMode p_mode);
	MouseMode get_mouse_mode() const;
	void get_argument_options(const StringName &p_function, int p_idx, List<String> *r_options) const override;
	static Input *get_singleton();
	bool is_anything_pressed() const;
	bool is_key_pressed(Key p_keycode) const;
	bool is_physical_key_pressed(Key p_keycode) const;
	bool is_key_label_pressed(Key p_keycode) const;
	bool is_mouse_button_pressed(MouseButton p_button) const;
	bool is_joy_button_pressed(int p_device, JoyButton p_button) const;
	bool is_action_pressed(const StringName &p_action, bool p_exact = false) const;
	bool is_action_just_pressed(const StringName &p_action, bool p_exact = false) const;
	bool is_action_just_released(const StringName &p_action, bool p_exact = false) const;
	float get_action_strength(const StringName &p_action, bool p_exact = false) const;
	float get_action_raw_strength(const StringName &p_action, bool p_exact = false) const;
	float get_axis(const StringName &p_negative_action, const StringName &p_positive_action) const;
	Vector2 get_vector(const StringName &p_negative_x, const StringName &p_positive_x, const StringName &p_negative_y, const StringName &p_positive_y, float p_deadzone = -1.0f) const;
	float get_joy_axis(int p_device, JoyAxis p_axis) const;