From 2b484a1ccbe8ed0952b0d3d4ca84ddb0c9be5b6c Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Wed, 11 Feb 2026 16:53:13 -0800 Subject: [PATCH] Fixed initializing the PowerA Fusion Pro 4 on Steam Link hardware --- src/joystick/hidapi/SDL_hidapi_xboxone.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/joystick/hidapi/SDL_hidapi_xboxone.c b/src/joystick/hidapi/SDL_hidapi_xboxone.c index c42c708ba5..896423f848 100644 --- a/src/joystick/hidapi/SDL_hidapi_xboxone.c +++ b/src/joystick/hidapi/SDL_hidapi_xboxone.c @@ -273,8 +273,14 @@ static bool SendSerialRequest(SDL_DriverXboxOne_Context *ctx) static bool ControllerSendsAnnouncement(Uint16 vendor_id, Uint16 product_id) { - if (vendor_id == USB_VENDOR_PDP && product_id == 0x0246) { - // The PDP Rock Candy (PID 0x0246) doesn't send the announce packet on Linux for some reason + // The PDP Rock Candy (PID 0x0246) and PowerA Fusion Pro 4 (PID 0x400b) + // don't send the announce packet on Linux for some reason. + // + // Just to be safe and cover future products, we'll always send the startup + // protocol sequence for PDP and PowerA controllers + if (vendor_id == USB_VENDOR_PDP || + vendor_id == USB_VENDOR_POWERA || + vendor_id == USB_VENDOR_POWERA_ALT) { return false; } return true;