Bläddra i källkod

Re-enable full controller reports for Joy-Con controllers

When they are in simple report mode, the thumbstick gets turned into a digital hat, so let's use them in full report mode.
Sam Lantinga 1 år sedan
förälder
incheckning
bf27269952
1 ändrade filer med 8 tillägg och 0 borttagningar
  1. 8 0
      src/joystick/hidapi/SDL_hidapi_switch.c

+ 8 - 0
src/joystick/hidapi/SDL_hidapi_switch.c

@@ -773,6 +773,14 @@ static Uint8 GetDefaultInputMode(SDL_DriverSwitch_Context *ctx)
         #if 0
         input_mode = k_eSwitchInputReportIDs_FullControllerState;
         #endif
+
+        /* However, Joy-Con controllers switch their thumbsticks into D-pad mode in simple mode,
+         * so let's enable full controller state for them.
+         */
+        if (ctx->device->product_id == USB_PRODUCT_NINTENDO_SWITCH_JOYCON_LEFT ||
+            ctx->device->product_id == USB_PRODUCT_NINTENDO_SWITCH_JOYCON_RIGHT) {
+            input_mode = k_eSwitchInputReportIDs_FullControllerState;
+        }
     }
     return input_mode;
 }