Wiki Page Content

Differences between revisions 1 and 8 (spanning 7 versions)
Revision 1 as of 2013-10-05 04:59:57
Size: 2545
Editor: Zalerinian
Comment:
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 7: Line 7:
= SDL_Function = = SDL_GameControllerGetJoystick =
Line 16: Line 16:
SDL_Joystick joy = SDL_GameControllerGetJoystick(SDL_GameController* cont) SDL_Joystick* SDL_GameControllerGetJoystick(SDL_GameController* gamecontroller)
Line 23: Line 23:
||'''SDL_GameController'''||The game controller object that you want to get a Joystick object from.|| ||'''gamecontroller'''||the game controller object that you want to get a joystick from||
Line 34: Line 34:
#include <cstdio> //printf function
. . .
#include <stdio.h> /* for printf() */

/* ..
. */
Line 38: Line 40:
for(int 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
 
{
    cout << "Index \'" << i << "\' is not a compatible controller." << endl;
}
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);
  
}
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.
Line 64: Line 65:
----
CategoryGameController CategoryGameController CategoryGameController

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