Просмотр исходного кода

Restored accidentally removed code to guess XInput device

Sam Lantinga 3 лет назад
Родитель
Сommit
e5f161bda4
1 измененных файлов с 2 добавлено и 2 удалено
  1. 2 2
      src/joystick/windows/SDL_xinputjoystick.c

+ 2 - 2
src/joystick/windows/SDL_xinputjoystick.c

@@ -127,7 +127,6 @@ GetXInputName(const Uint8 userid, BYTE SubType)
     return name;
     return name;
 }
 }
 
 
-#if 0
 /* We can't really tell what device is being used for XInput, but we can guess
 /* We can't really tell what device is being used for XInput, but we can guess
    and we'll be correct for the case where only one device is connected.
    and we'll be correct for the case where only one device is connected.
  */
  */
@@ -239,7 +238,6 @@ GuessXInputDevice(Uint8 userid, Uint16 *pVID, Uint16 *pPID, Uint16 *pVersion)
     *pPID = 0x02fd; /* XBox One S Bluetooth */
     *pPID = 0x02fd; /* XBox One S Bluetooth */
     *pVersion = 0;
     *pVersion = 0;
 }
 }
-#endif /* #if 0 */
 
 
 static void
 static void
 AddXInputDevice(Uint8 userid, BYTE SubType, JoyStick_DeviceData **pContext)
 AddXInputDevice(Uint8 userid, BYTE SubType, JoyStick_DeviceData **pContext)
@@ -287,6 +285,8 @@ AddXInputDevice(Uint8 userid, BYTE SubType, JoyStick_DeviceData **pContext)
     }
     }
     SDL_snprintf(pNewJoystick->path, sizeof(pNewJoystick->path), "XInput#%d", userid);
     SDL_snprintf(pNewJoystick->path, sizeof(pNewJoystick->path), "XInput#%d", userid);
     if (!SDL_XInputUseOldJoystickMapping()) {
     if (!SDL_XInputUseOldJoystickMapping()) {
+        GuessXInputDevice(userid, &vendor, &product, &version);
+
         pNewJoystick->guid = SDL_CreateJoystickGUID(SDL_HARDWARE_BUS_USB, vendor, product, version, pNewJoystick->joystickname, 'x', SubType);
         pNewJoystick->guid = SDL_CreateJoystickGUID(SDL_HARDWARE_BUS_USB, vendor, product, version, pNewJoystick->joystickname, 'x', SubType);
     }
     }
     pNewJoystick->SubType = SubType;
     pNewJoystick->SubType = SubType;