SDL: Don't use the HIDAPI driver with Backbone One PlayStation Edition Gen 2 (33ea9)

From 33ea9c3e63b1075413ac371977f06814cc3db16f Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Tue, 26 May 2026 13:01:49 -0700
Subject: [PATCH] Don't use the HIDAPI driver with Backbone One PlayStation
 Edition Gen 2

This product doesn't appear to use the DualSense protocol. On Android this shows up as two interfaces that don't send reports that we can parse.

(cherry picked from commit a84dafd5b9352e32f10dc60179c9f6c2c7f8a2dc)
---
 src/joystick/hidapi/SDL_hidapi_ps5.c | 6 ++++++
 src/joystick/usb_ids.h               | 1 +
 2 files changed, 7 insertions(+)

diff --git a/src/joystick/hidapi/SDL_hidapi_ps5.c b/src/joystick/hidapi/SDL_hidapi_ps5.c
index abc1a922e9765..473f7fd2122fc 100644
--- a/src/joystick/hidapi/SDL_hidapi_ps5.c
+++ b/src/joystick/hidapi/SDL_hidapi_ps5.c
@@ -298,6 +298,12 @@ static bool HIDAPI_DriverPS5_IsSupportedDevice(SDL_HIDAPI_Device *device, const
     Uint8 data[USB_PACKET_LENGTH];
     int size;
 
+    if (vendor_id == USB_VENDOR_BACKBONE &&
+        product_id == USB_PRODUCT_BACKBONE_ONE_PS5_V2) {
+        // This product doesn't appear to use the DualSense protocol
+        return false;
+    }
+
     if (type == SDL_GAMEPAD_TYPE_PS5) {
         return true;
     }
diff --git a/src/joystick/usb_ids.h b/src/joystick/usb_ids.h
index f916e6cb8be2f..5e48181c2eea5 100644
--- a/src/joystick/usb_ids.h
+++ b/src/joystick/usb_ids.h
@@ -79,6 +79,7 @@
 #define USB_PRODUCT_ASTRO_C40_XBOX360                     0x0024
 #define USB_PRODUCT_BACKBONE_ONE_IOS                      0x0103
 #define USB_PRODUCT_BACKBONE_ONE_IOS_PS5                  0x0104
+#define USB_PRODUCT_BACKBONE_ONE_PS5_V2                   0x0304
 #define USB_PRODUCT_BDA_XB1_CLASSIC                       0x581a
 #define USB_PRODUCT_BDA_XB1_FIGHTPAD                      0x791a
 #define USB_PRODUCT_BDA_XB1_SPECTRA_PRO                   0x592a