SDL Wiki
(This is the documentation for SDL3, which is under heavy development and the API is changing! SDL2 is the current stable version!)


THIS PAGE IS A WORK IN PROGRESS ... Please make edits to this page to improve it!


Get the Joystick ID from a Game Controller.


SDL_Joystick* SDL_GameControllerGetJoystick(SDL_GameController *gamecontroller);

Function Parameters


the game controller object that you want to get a joystick from

Return Value

Returns a SDL_Joystick object; call SDL_GetError() for more information.


This function will give you a SDL_Joystick object, which allows you to use the SDL_Joystick functions with a SDL_GameController object. This would be useful for getting a joystick's position at any given time, even if it hasn't moved (moving it would produce an event, which would have the axis' value).

The pointer returned is owned by the SDL_GameController. You should not call SDL_JoystickClose() on it, for example, since doing so will likely cause SDL to crash.


This function is available since SDL 3.0.0.

Code Examples

#include <stdio.h> /* for printf() */

/* ... */

SDL_GameController *ctrl;
SDL_Joystick *joy;
int i;

for(i = 0; i < SDL_NumJoysticks(); ++i) {
    if (SDL_IsGameController(i)) {
        printf("Index \'%i\' is a compatible controller, named \'%s\'\n", i, SDL_GameControllerNameForIndex(i));
        ctrl = SDL_GameControllerOpen(i);
        joy = SDL_GameControllerGetJoystick(ctrl);
    } else {
        printf("Index \'%i\' is not a compatible controller.\n", i);

CategoryAPI, CategoryGameController, CategoryDraft

[ edit | delete | history | feedback | raw ]

[ front page | index | search | recent changes | git repo | offline html ]

All wiki content is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0).
Wiki powered by ghwikipp.