Browse Source

Don't enable enhanced report mode for Bluetooth Nintendo Switch controllers by default

This breaks applications using them in DirectInput mode, which isn't worth just getting battery status. We'll turn on enhanced mode if the application enables sensors.

(cherry picked from commit a87fa020ac0e282cc147299f7f69f8072de68024)
(cherry picked from commit efaa58732abb3faf3900b2d93a166b955fbd8ed0)
Sam Lantinga 11 months ago
parent
commit
c27219695a
1 changed files with 3 additions and 0 deletions
  1. 3 0
      src/joystick/hidapi/SDL_hidapi_switch.c

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

@@ -758,7 +758,10 @@ static Uint8 GetDefaultInputMode(SDL_DriverSwitch_Context *ctx)
      * battery level over Bluetooth anyway.
      */
     if (ctx->device->vendor_id == USB_VENDOR_NINTENDO) {
+        /* However, switching to full controller state breaks DirectInput, so let's not do that */
+        #if 0
         input_mode = k_eSwitchInputReportIDs_FullControllerState;
+        #endif
     }
     return input_mode;
 }