SDL_GameControllerOpen(0) returns null for Steam Controller


I’m trying to get some help on using the Steam controller. The code already works for my xbox 360 controller.

I’m on Windows, using SDL 2.0.9 and the Steamworks API.

When I have only the Steam controller plugged in:

  • SDL_NumJoysticks() returns 1 if Steam client is running, 0 if not.
  • SDL_IsGameController(0) returns true.
  • SDL_GameControllerOpen(0) returns NULL.
  • SDL_GetError() returns “Failed to obtain XInput device capabilities. Device disconnected?”

I don’t think the controller is disconnectd. The light is on and I can navigate the steam interface with it.

Would really appreciate any help. Thanks!

You should use the Steam Input APIs to interact with the Steam Controller.