소스 검색

Fixed third party Nintendo Switch Pro Controller resetting when being sent an unsupported command to set the Home LED

Tested with the PowerA Fusion Pro Wireless Controller in Bluetooth mode
Sam Lantinga 2 년 전
부모
커밋
23e007d3b7
1개의 변경된 파일4개의 추가작업 그리고 0개의 파일을 삭제
  1. 4 0
      src/joystick/hidapi/SDL_hidapi_switch.c

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

@@ -1596,6 +1596,10 @@ static int HIDAPI_DriverSwitch_SendJoystickEffect(SDL_HIDAPI_Device *device, SDL
             /* Going into simple mode over USB disables input reports, so don't do that */
             /* Going into simple mode over USB disables input reports, so don't do that */
             return 0;
             return 0;
         }
         }
+        if (cmd == k_eSwitchSubcommandIDs_SetHomeLight && !HasHomeLED(ctx)) {
+            /* Setting the home LED when it's not supported can cause the controller to reset */
+            return 0;
+        }
 
 
         if (!WriteSubcommand(ctx, cmd, &payload[1], (Uint8)(size - 1), NULL)) {
         if (!WriteSubcommand(ctx, cmd, &payload[1], (Uint8)(size - 1), NULL)) {
             return -1;
             return -1;