Sfoglia il codice sorgente

Fixed querying device info on the MOBAPAD M073

The query packet needs to contain valid rumble data in order to be accepted by the controller.

Fixes https://github.com/libsdl-org/SDL/issues/7788
Sam Lantinga 3 anni fa
parent
commit
5490873daa
1 ha cambiato i file con 4 aggiunte e 0 eliminazioni
  1. 4 0
      src/joystick/hidapi/SDL_hidapi_switch.c

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

@@ -1250,6 +1250,10 @@ static SDL_bool HIDAPI_DriverSwitch_InitDevice(SDL_HIDAPI_Device *device)
     /* Find out whether or not we can send output reports */
     ctx->m_bInputOnly = SDL_IsJoystickNintendoSwitchProInputOnly(device->vendor_id, device->product_id);
     if (!ctx->m_bInputOnly) {
+        /* Initialize rumble data, important for reading device info on the MOBAPAD M073  */
+        SetNeutralRumble(&ctx->m_RumblePacket.rumbleData[0]);
+        SetNeutralRumble(&ctx->m_RumblePacket.rumbleData[1]);
+
         if (!BReadDeviceInfo(ctx)) {
             SDL_LogDebug(SDL_LOG_CATEGORY_INPUT,
                          "HIDAPI_DriverSwitch_InitDevice(): Couldn't read device info");