SDL: Fixed HIDAPI PS5 Bluetooth report format (3b4cf)

From 3b4cf41c92c873aef1e104073e3460e77b25f41a Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Tue, 3 Feb 2026 20:13:13 -0800
Subject: [PATCH] Fixed HIDAPI PS5 Bluetooth report format

(cherry picked from commit 129627068fe266ed68c0725f47a026eae889b992)
---
 src/joystick/hidapi/SDL_hidapi_ps5.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/joystick/hidapi/SDL_hidapi_ps5.c b/src/joystick/hidapi/SDL_hidapi_ps5.c
index 133db1a13750a..c7903881a93b2 100644
--- a/src/joystick/hidapi/SDL_hidapi_ps5.c
+++ b/src/joystick/hidapi/SDL_hidapi_ps5.c
@@ -823,7 +823,7 @@ static void HIDAPI_DriverPS5_SetEnhancedModeAvailable(SDL_DriverPS5_Context *ctx
     if (ctx->sensors_supported) {
         // Standard DualSense sensor update rate is 250 Hz over USB
         float update_rate = 250.0f;
-        
+
         if (ctx->device->is_bluetooth) {
             // Bluetooth sensor update rate appears to be 1000 Hz
             update_rate = 1000.0f;
@@ -1066,10 +1066,11 @@ static bool HIDAPI_DriverPS5_InternalSendJoystickEffect(SDL_DriverPS5_Context *c
 
     if (ctx->device->is_bluetooth) {
         data[0] = k_EPS5ReportIdBluetoothEffects;
-        data[1] = 0x02; // Magic value
+        data[1] = 0x00; // Tag and sequence
+        data[2] = 0x10; // Magic value
 
         report_size = 78;
-        offset = 2;
+        offset = 3;
     } else {
         data[0] = k_EPS5ReportIdUsbEffects;