|
@@ -333,8 +333,9 @@ void JoypadLinux::open_joypad(const char *p_path) {
|
|
|
}
|
|
|
|
|
|
// Check if the device supports basic gamepad events
|
|
|
- if (!(test_bit(EV_KEY, evbit) && test_bit(EV_ABS, evbit) &&
|
|
|
- test_bit(ABS_X, absbit) && test_bit(ABS_Y, absbit))) {
|
|
|
+ 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;
|
|
|
}
|