Wiki Page Content

Revision 7 as of 2013-10-15 22:37:52

Clear message

DRAFT

SDL_GameControllerGetJoystick

Use this function to get the Joystick ID from a Game Controller. The game controller builds on the Joystick API, but to be able to use the Joystick's functions with a gamepad, you need to use this first to get the joystick object.

Syntax

SDL_Joystick* SDL_GameControllerGetJoystick(SDL_GameController* gamecontroller)

Function Parameters

gamecontroller

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.

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);
    }
}

Remarks

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 GameController. You should not call SDL_JoystickClose on it, for example, since doing so will likely cause SDL to crash.


CategoryAPI, CategoryGameController

(Page Info.)
Feedback
Please include your contact information if you'd like to receive a reply.
Submit