1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-14 13:41:12 +00:00

Update Linux gamepad detection to match SDL.

This commit is contained in:
Marcel Admiraal
2020-07-22 10:16:35 +01:00
parent 1ab0644532
commit 8fe2ecf565

View File

@@ -311,16 +311,9 @@ void JoypadLinux::open_joypad(const char *p_path) {
return; return;
} }
//check if the device supports basic gamepad events, prevents certain keyboards from // Check if the device supports basic gamepad events
//being detected as joypads
if (!(test_bit(EV_KEY, evbit) && test_bit(EV_ABS, evbit) && if (!(test_bit(EV_KEY, evbit) && test_bit(EV_ABS, evbit) &&
(test_bit(ABS_X, absbit) || test_bit(ABS_Y, absbit) || test_bit(ABS_HAT0X, absbit) || test_bit(ABS_X, absbit) && test_bit(ABS_Y, absbit))) {
test_bit(ABS_GAS, absbit) || test_bit(ABS_RUDDER, absbit)) &&
(test_bit(BTN_A, keybit) || test_bit(BTN_THUMBL, keybit) ||
test_bit(BTN_TRIGGER, keybit) || test_bit(BTN_1, keybit))) &&
!(test_bit(EV_ABS, evbit) &&
test_bit(ABS_X, absbit) && test_bit(ABS_Y, absbit) &&
test_bit(ABS_RX, absbit) && test_bit(ABS_RY, absbit))) {
close(fd); close(fd);
return; return;
} }