Xbox One vs. Xbox 360 controllers


Just wondering if these controllers have the same values for all the buttons on Windows, Mac and Linux? I only have a 360 controller and if I don’t need to buy an Xbox One controller that’s a plus. Thanks.

EDIT: Also anybody know what SDL_JoystickName will return for an Xbox One controller? Hopefully something that can identify it as such.


I have both a wireless Xbox one controller and a wired Xbox 360 controller, and I can confirm that they have the exact same values for their buttons and their axis on a Windows platform. The returned name is “XInput Controller” for both with SDL_JoystickName.


Thanks a lot, much appreciated!


SDL_JoystickName should be returning the real name for the controller. i.e. “Xbox 360 Controller”, or “Xbox One Controller”. This “XInput” naming of known controllers is a bug, no?


When I first saw this, I thought it was not ideal but still correct because the Xbox 360 and One controllers are indeed XInput controllers. But if this function is supposed to return an unique name for each controller, you’re right, this is a bug.


The XINPUT API does not expose the product name string, so instead, SDL returns the “XInput Controller #1” (and #2, #3, #4) strings.