Wiki Page Content

Differences between revisions 7 and 8
Revision 7 as of 2013-10-15 22:37:52
Size: 2658
Comment: Added a very big warning to SDL_GameControllerGetJoystick about potentially crashing SDL by closing the SDL_Joystick * returned by this function.
Revision 8 as of 2013-10-17 20:57:50
Size: 2660
Comment: Added ().
Deletions are marked like this. Additions are marked like this.
Line 61: Line 61:
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. 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.

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

None: SDL_GameControllerGetJoystick (last edited 2014-09-22 17:37:12 by PhilippWiesemann)

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