@@ -2185,9 +2185,6 @@ static bool HIDAPI_DriverGIP_InitDevice(SDL_HIDAPI_Device *device)
2185
2185
ctx -> metadata .device .in_system_messages [0 ] = GIP_DEFAULT_IN_SYSTEM_MESSAGES ;
2186
2186
ctx -> metadata .device .out_system_messages [0 ] = GIP_DEFAULT_OUT_SYSTEM_MESSAGES ;
2187
2187
ctx -> reset_for_metadata = SDL_GetHintBoolean (SDL_HINT_JOYSTICK_HIDAPI_GIP_RESET_FOR_METADATA , false);
2188
- if (device -> vendor_id == USB_VENDOR_MICROSOFT && device -> product_id == USB_PRODUCT_XBOX_ONE_ELITE_SERIES_1 ) {
2189
- ctx -> paddle_format = GIP_PADDLES_XBE1 ;
2190
- }
2191
2188
GIP_HandleQuirks (ctx );
2192
2189
2193
2190
if (ctx -> quirks & GIP_QUIRK_NO_HELLO ) {
@@ -2229,12 +2226,19 @@ static bool HIDAPI_DriverGIP_OpenJoystick(SDL_HIDAPI_Device *device, SDL_Joystic
2229
2226
2230
2227
// Initialize the joystick capabilities
2231
2228
joystick -> nbuttons = 11 ;
2232
- if (device -> vendor_id == USB_VENDOR_MICROSOFT && device -> product_id == USB_PRODUCT_XBOX_ONE_ELITE_SERIES_2 ) {
2233
- ctx -> paddle_offset = 14 ;
2234
- ctx -> paddle_format = GIP_PADDLES_XBE2 ;
2235
- if (ctx -> firmware_major_version == 5 && ctx -> firmware_minor_version < 17 ) {
2236
- ctx -> paddle_format = GIP_PADDLES_XBE2_RAW ;
2229
+ if (device -> vendor_id == USB_VENDOR_MICROSOFT ) {
2230
+ if (device -> product_id == USB_PRODUCT_XBOX_ONE_ELITE_SERIES_1 ) {
2231
+ ctx -> paddle_offset = 28 ;
2232
+ ctx -> paddle_format = GIP_PADDLES_XBE1 ;
2233
+ } else if (device -> product_id == USB_PRODUCT_XBOX_ONE_ELITE_SERIES_2 ) {
2234
+ ctx -> paddle_offset = 14 ;
2235
+ ctx -> paddle_format = GIP_PADDLES_XBE2 ;
2236
+ if (ctx -> firmware_major_version == 5 && ctx -> firmware_minor_version < 17 ) {
2237
+ ctx -> paddle_format = GIP_PADDLES_XBE2_RAW ;
2238
+ }
2237
2239
}
2240
+ }
2241
+ if (ctx -> paddle_offset > 0 ) {
2238
2242
ctx -> paddle_idx = (Uint8 ) joystick -> nbuttons ;
2239
2243
joystick -> nbuttons += 4 ;
2240
2244
}
0 commit comments