Commit 3e4a8ce1c2966aaee2529b2b0a35877eda7ee2c0

Sam Lantinga 2015-04-01T19:18:56

Fixed detecting the NVIDIA controller which shows up as both a mouse and a game controller

diff --git a/src/core/linux/SDL_udev.c b/src/core/linux/SDL_udev.c
index d00fd82..b1310bc 100644
--- a/src/core/linux/SDL_udev.c
+++ b/src/core/linux/SDL_udev.c
@@ -350,17 +350,19 @@ guess_device_class(struct udev_device *dev)
             devclass |= SDL_UDEV_DEVICE_MOUSE; /* ID_INPUT_MOUSE */
         } else if (test_bit(BTN_TOUCH, bitmask_key)) {
             ; /* ID_INPUT_TOUCHSCREEN */
-        } else if (test_bit(BTN_TRIGGER, bitmask_key) ||
-                 test_bit(BTN_A, bitmask_key) ||
-                 test_bit(BTN_1, bitmask_key) ||
-                 test_bit(ABS_RX, bitmask_abs) ||
-                 test_bit(ABS_RY, bitmask_abs) ||
-                 test_bit(ABS_RZ, bitmask_abs) ||
-                 test_bit(ABS_THROTTLE, bitmask_abs) ||
-                 test_bit(ABS_RUDDER, bitmask_abs) ||
-                 test_bit(ABS_WHEEL, bitmask_abs) ||
-                 test_bit(ABS_GAS, bitmask_abs) ||
-                 test_bit(ABS_BRAKE, bitmask_abs)) {
+        }
+
+        if (test_bit(BTN_TRIGGER, bitmask_key) ||
+            test_bit(BTN_A, bitmask_key) ||
+            test_bit(BTN_1, bitmask_key) ||
+            test_bit(ABS_RX, bitmask_abs) ||
+            test_bit(ABS_RY, bitmask_abs) ||
+            test_bit(ABS_RZ, bitmask_abs) ||
+            test_bit(ABS_THROTTLE, bitmask_abs) ||
+            test_bit(ABS_RUDDER, bitmask_abs) ||
+            test_bit(ABS_WHEEL, bitmask_abs) ||
+            test_bit(ABS_GAS, bitmask_abs) ||
+            test_bit(ABS_BRAKE, bitmask_abs)) {
             devclass |= SDL_UDEV_DEVICE_JOYSTICK; /* ID_INPUT_JOYSTICK */
         }
     }