From 64998d2bc8ec062186ba15978789b042ee831721 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Tue, 9 Jun 2026 11:12:52 -0700 Subject: [PATCH] Fixed a hang reading the Xbox report descriptor on macOS --- src/joystick/hidapi/SDL_hidapi_xboxone.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/joystick/hidapi/SDL_hidapi_xboxone.c b/src/joystick/hidapi/SDL_hidapi_xboxone.c index 14dc6cb0d3..2f6cf14cf2 100644 --- a/src/joystick/hidapi/SDL_hidapi_xboxone.c +++ b/src/joystick/hidapi/SDL_hidapi_xboxone.c @@ -404,6 +404,8 @@ static bool HIDAPI_DriverXboxOne_InitDevice(SDL_HIDAPI_Device *device) device->context = ctx; +// The Xbox controller doesn't have real HID report descriptors, but Linux synthesizes them for us +#ifdef SDL_PLATFORM_LINUX Uint8 descriptor[1024]; int descriptor_len = SDL_hid_get_report_descriptor(device->dev, descriptor, sizeof(descriptor)); if (descriptor_len > 0) { @@ -453,6 +455,7 @@ static bool HIDAPI_DriverXboxOne_InitDevice(SDL_HIDAPI_Device *device) } else { SDL_LogDebug(SDL_LOG_CATEGORY_INPUT, "Xbox report descriptor not available"); } +#endif // SDL_PLATFORM_LINUX ctx->vendor_id = device->vendor_id; ctx->product_id = device->product_id;