SDL_GameControllerRumble does not work with the Nintendo Switch Pro controller


When using SDL_GameControllerRumble I can make the PS4 controller rumble, it works like a charm with the example below but it does not work with the Nintendo Switch Pro controller, and it seems the Switch Pro controller has rumble as it returns true when passing the Switch Pro controller into SDL_GameControllerHasRumble(gGameController) and I’m not getting a value under 0 when using the function below with the Switch Pro controller…

if(SDL_GameControllerRumble(gGameController, 0xFFFF, 0xFFFF, 1000) < 0) { printf("Unable to rumble"); }

Is rumble not supported for the Switch Pro controller?

It should be supported. Which version of SDL? Which operating system? If you’re over bluetooth, did you try wired?

SDL version 2.0.20
MacOS Big Sur 11.5
I have only tried with Bluetooth as I am not able to connect the Switch Pro controller with a wire (all it does is charging the controller when I plug it).
I’m not sure the wireless is the issue as I am able to use buttons/joysticks inputs from the switch pro controller in my code, it’s just the rumble function that does not seem to work.

I have an 8BitDo controller that pretends to be a Switch Pro controller. On Windows 10 over Bluetooth everything is working. So it’s either a mac bug or a problem with your controller. If you have access to a Windows 10 machine, try your controller on my game controller tester app: