### 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)
int joy_num = input->get_unused_joy_id();
	int fd = open(p_path, O_RDWR | O_NONBLOCK);
	if (fd != -1 && joy_num != -1) {
		unsigned long evbit[NBITS(EV_MAX)] = { 0 };
		unsigned long keybit[NBITS(KEY_MAX)] = { 0 };
		unsigned long absbit[NBITS(ABS_MAX)] = { 0 };
		
		attached_devices.push_back(String(p_path));
		if ((ioctl(fd, EVIOCGBIT(0, sizeof(evbit)), evbit) < 0) ||
				(ioctl(fd, EVIOCGBIT(EV_KEY, sizeof(keybit)), keybit) < 0) ||
				(ioctl(fd, EVIOCGBIT(EV_ABS, sizeof(absbit)), absbit) < 0)) {
			close(fd);
			return;
		}
		
		bool has_abs_left = (test_bit(ABS_X, absbit) && test_bit(ABS_Y, absbit));
		bool has_abs_right = (test_bit(ABS_RX, absbit) && test_bit(ABS_RY, absbit));
		if (!(test_bit(EV_KEY, evbit) && test_bit(EV_ABS, evbit) && (has_abs_left || has_abs_right))) {
			close(fd);
			return;
		}
		char uid[128];
		char namebuf[128];
		String name = "";
		input_id inpid;
		if (ioctl(fd, EVIOCGNAME(sizeof(namebuf)), namebuf) >= 0) {
			name = namebuf;