SDL
2.0
|
#include "../SDL_internal.h"
#include "SDL.h"
#include "SDL_events.h"
#include "SDL_sysjoystick.h"
#include "SDL_assert.h"
#include "SDL_hints.h"
#include "../events/SDL_events_c.h"
Go to the source code of this file.
Variables | |
static SDL_bool | SDL_joystick_allows_background_events = SDL_FALSE |
static SDL_Joystick * | SDL_joysticks = NULL |
static SDL_Joystick * | SDL_updating_joystick = NULL |
|
static |
|
static |
Definition at line 40 of file SDL_joystick.c.
References SDL_FALSE, SDL_joystick_allows_background_events, and SDL_TRUE.
Referenced by SDL_JoystickInit().
void SDL_JoystickClose | ( | SDL_Joystick * | joystick | ) |
Close a joystick previously opened with SDL_JoystickOpen().
Definition at line 410 of file SDL_joystick.c.
References NULL, SDL_free(), SDL_joysticks, SDL_SYS_JoystickClose(), and SDL_updating_joystick.
Referenced by SDL_JoystickOpen(), SDL_JoystickQuit(), and SDL_JoystickUpdate().
SDL_JoystickPowerLevel SDL_JoystickCurrentPowerLevel | ( | SDL_Joystick * | joystick | ) |
Return the battery level of this joystick
Definition at line 854 of file SDL_joystick.c.
References SDL_JOYSTICK_POWER_UNKNOWN, and SDL_PrivateJoystickValid().
int SDL_JoystickEventState | ( | int | state | ) |
Enable/disable joystick event polling.
If joystick events are disabled, you must call SDL_JoystickUpdate() yourself and check the state of the joystick when you want joystick information.
The state can be one of SDL_QUERY, SDL_ENABLE or SDL_IGNORE.
Definition at line 722 of file SDL_joystick.c.
References i, SDL_arraysize, SDL_DISABLE, SDL_ENABLE, SDL_EventState, SDL_JOYAXISMOTION, SDL_JOYBALLMOTION, SDL_JOYBUTTONDOWN, SDL_JOYBUTTONUP, SDL_JOYDEVICEADDED, SDL_JOYDEVICEREMOVED, SDL_JOYHATMOTION, and SDL_QUERY.
SDL_Joystick* SDL_JoystickFromInstanceID | ( | SDL_JoystickID | joyid | ) |
Return the SDL_Joystick associated with an instance id.
Definition at line 380 of file SDL_joystick.c.
References NULL, and SDL_joysticks.
SDL_bool SDL_JoystickGetAttached | ( | SDL_Joystick * | joystick | ) |
Returns SDL_TRUE if the joystick has been opened and currently connected, or SDL_FALSE if it has not.
Definition at line 354 of file SDL_joystick.c.
References SDL_FALSE, SDL_PrivateJoystickValid(), and SDL_SYS_JoystickAttached().
Sint16 SDL_JoystickGetAxis | ( | SDL_Joystick * | joystick, |
int | axis | ||
) |
Get the current state of an axis control on a joystick.
The state is a value ranging from -32768 to 32767.
The axis indices start at index 0.
Definition at line 265 of file SDL_joystick.c.
References axis, SDL_PrivateJoystickValid(), SDL_SetError, and state.
int SDL_JoystickGetBall | ( | SDL_Joystick * | joystick, |
int | ball, | ||
int * | dx, | ||
int * | dy | ||
) |
Get the ball axis change since the last poll.
The ball indices start at index 0.
Definition at line 305 of file SDL_joystick.c.
References retval, SDL_PrivateJoystickValid(), and SDL_SetError.
Uint8 SDL_JoystickGetButton | ( | SDL_Joystick * | joystick, |
int | button | ||
) |
Get the current state of a button on a joystick.
The button indices start at index 0.
Definition at line 333 of file SDL_joystick.c.
References button, SDL_PrivateJoystickValid(), SDL_SetError, and state.
SDL_JoystickGUID SDL_JoystickGetDeviceGUID | ( | int | device_index | ) |
Return the GUID for the joystick at this index
Definition at line 754 of file SDL_joystick.c.
References SDL_NumJoysticks(), SDL_SetError, SDL_SYS_JoystickGetDeviceGUID(), and SDL_zero.
SDL_JoystickGUID SDL_JoystickGetGUID | ( | SDL_Joystick * | joystick | ) |
Return the GUID for this opened joystick
Definition at line 766 of file SDL_joystick.c.
References SDL_PrivateJoystickValid(), SDL_SYS_JoystickGetGUID(), and SDL_zero.
SDL_JoystickGUID SDL_JoystickGetGUIDFromString | ( | const char * | pchGUID | ) |
convert a string into a joystick formatted guid
Definition at line 824 of file SDL_joystick.c.
References i, nibble(), SDL_memset, and SDL_strlen.
void SDL_JoystickGetGUIDString | ( | SDL_JoystickGUID | guid, |
char * | pszGUID, | ||
int | cbGUID | ||
) |
Return a string representation for this guid. pszGUID must point to at least 33 bytes (32 for the string plus a NULL terminator).
Definition at line 777 of file SDL_joystick.c.
References SDL_JoystickGUID::data, i, and NULL.
Uint8 SDL_JoystickGetHat | ( | SDL_Joystick * | joystick, |
int | hat | ||
) |
Get the current state of a POV hat on a joystick.
The hat indices start at index 0.
Definition at line 285 of file SDL_joystick.c.
References SDL_PrivateJoystickValid(), SDL_SetError, and state.
int SDL_JoystickInit | ( | void | ) |
Definition at line 50 of file SDL_joystick.c.
References NULL, SDL_AddHintCallback, SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS, SDL_INIT_EVENTS, SDL_InitSubSystem, SDL_JoystickAllowBackgroundEventsChanged(), and SDL_SYS_JoystickInit().
Referenced by SDL_InitSubSystem().
SDL_JoystickID SDL_JoystickInstanceID | ( | SDL_Joystick * | joystick | ) |
Get the instance ID of an opened joystick or -1 if the joystick is invalid.
Definition at line 367 of file SDL_joystick.c.
References SDL_PrivateJoystickValid().
const char* SDL_JoystickName | ( | SDL_Joystick * | joystick | ) |
Return the name for this currently opened joystick. If no name can be found, this function returns NULL.
Definition at line 397 of file SDL_joystick.c.
References NULL, and SDL_PrivateJoystickValid().
const char* SDL_JoystickNameForIndex | ( | int | device_index | ) |
Get the implementation dependent name of a joystick. This can be called before any joysticks are opened. If no name can be found, this function returns NULL.
Definition at line 84 of file SDL_joystick.c.
References NULL, SDL_NumJoysticks(), SDL_SetError, and SDL_SYS_JoystickNameForDeviceIndex().
int SDL_JoystickNumAxes | ( | SDL_Joystick * | joystick | ) |
Get the number of general axis controls on a joystick.
Definition at line 217 of file SDL_joystick.c.
References SDL_PrivateJoystickValid().
int SDL_JoystickNumBalls | ( | SDL_Joystick * | joystick | ) |
Get the number of trackballs on a joystick.
Joystick trackballs have only relative motion events associated with them and their state cannot be polled.
Definition at line 241 of file SDL_joystick.c.
References SDL_PrivateJoystickValid().
int SDL_JoystickNumButtons | ( | SDL_Joystick * | joystick | ) |
Get the number of buttons on a joystick.
Definition at line 253 of file SDL_joystick.c.
References SDL_PrivateJoystickValid().
int SDL_JoystickNumHats | ( | SDL_Joystick * | joystick | ) |
Get the number of POV hats on a joystick.
Definition at line 229 of file SDL_joystick.c.
References SDL_PrivateJoystickValid().
SDL_Joystick* SDL_JoystickOpen | ( | int | device_index | ) |
Open a joystick for use. The index passed as an argument refers to the N'th joystick on the system. This index is not the value which will identify this joystick in future joystick events. The joystick's instance id (SDL_JoystickID) will be used there instead.
Definition at line 101 of file SDL_joystick.c.
References SDL_GameController::joystick, NULL, SDL_free(), SDL_JOYSTICK_POWER_UNKNOWN, SDL_JoystickClose(), SDL_joysticks, SDL_malloc, SDL_memset, SDL_NumJoysticks(), SDL_OutOfMemory, SDL_SetError, SDL_strdup, SDL_SYS_GetInstanceIdOfDeviceIndex(), SDL_SYS_JoystickNameForDeviceIndex(), SDL_SYS_JoystickOpen(), and SDL_SYS_JoystickUpdate().
Definition at line 458 of file SDL_joystick.c.
References SDL_assert, SDL_INIT_EVENTS, SDL_JoystickClose(), SDL_joysticks, SDL_QuitSubSystem, SDL_SYS_JoystickQuit(), and SDL_updating_joystick.
Referenced by SDL_QuitSubSystem().
Update the current state of the open joysticks.
This is called automatically by the event loop if any joystick events are enabled.
Definition at line 670 of file SDL_joystick.c.
References i, NULL, SDL_FALSE, SDL_HAT_CENTERED, SDL_JoystickClose(), SDL_joysticks, SDL_PrivateJoystickAxis(), SDL_PrivateJoystickButton(), SDL_PrivateJoystickHat(), SDL_SYS_JoystickDetect(), SDL_SYS_JoystickUpdate(), and SDL_updating_joystick.
int SDL_NumJoysticks | ( | void | ) |
Count the number of joysticks attached to the system right now
Definition at line 75 of file SDL_joystick.c.
References SDL_SYS_NumJoysticks().
Referenced by SDL_JoystickGetDeviceGUID(), SDL_JoystickNameForIndex(), and SDL_JoystickOpen().
Definition at line 501 of file SDL_joystick.c.
References axis, SDL_ENABLE, SDL_GetEventState, SDL_JOYAXISMOTION, SDL_PrivateJoystickShouldIgnoreEvent(), and SDL_PushEvent.
Referenced by SDL_JoystickUpdate(), SDL_SYS_AccelerometerUpdate(), and SDL_SYS_MFIJoystickUpdate().
Definition at line 582 of file SDL_joystick.c.
References SDL_ENABLE, SDL_GetEventState, SDL_JOYBALLMOTION, SDL_PrivateJoystickShouldIgnoreEvent(), and SDL_PushEvent.
void SDL_PrivateJoystickBatteryLevel | ( | SDL_Joystick * | joystick, |
SDL_JoystickPowerLevel | ePowerLevel | ||
) |
Definition at line 847 of file SDL_joystick.c.
Definition at line 618 of file SDL_joystick.c.
References button, SDL_ENABLE, SDL_GetEventState, SDL_JOYBUTTONDOWN, SDL_JOYBUTTONUP, SDL_PRESSED, SDL_PrivateJoystickShouldIgnoreEvent(), SDL_PushEvent, SDL_RELEASED, state, and SDL_Event::type.
Referenced by SDL_JoystickUpdate(), and SDL_SYS_MFIJoystickUpdate().
Definition at line 542 of file SDL_joystick.c.
References SDL_ENABLE, SDL_GetEventState, SDL_HAT_CENTERED, SDL_JOYHATMOTION, SDL_PrivateJoystickShouldIgnoreEvent(), and SDL_PushEvent.
Referenced by SDL_JoystickUpdate(), and SDL_SYS_MFIJoystickUpdate().
|
static |
Definition at line 479 of file SDL_joystick.c.
References NULL, SDL_FALSE, SDL_GetKeyboardFocus, SDL_INIT_VIDEO, SDL_joystick_allows_background_events, SDL_TRUE, and SDL_WasInit.
Referenced by SDL_PrivateJoystickAxis(), SDL_PrivateJoystickBall(), SDL_PrivateJoystickButton(), and SDL_PrivateJoystickHat().
int SDL_PrivateJoystickValid | ( | SDL_Joystick * | joystick | ) |
Definition at line 199 of file SDL_joystick.c.
References NULL, and SDL_SetError.
Referenced by SDL_HapticOpenFromJoystick(), SDL_JoystickCurrentPowerLevel(), SDL_JoystickGetAttached(), SDL_JoystickGetAxis(), SDL_JoystickGetBall(), SDL_JoystickGetButton(), SDL_JoystickGetGUID(), SDL_JoystickGetHat(), SDL_JoystickInstanceID(), SDL_JoystickIsHaptic(), SDL_JoystickName(), SDL_JoystickNumAxes(), SDL_JoystickNumBalls(), SDL_JoystickNumButtons(), and SDL_JoystickNumHats().
Definition at line 35 of file SDL_joystick.c.
Referenced by SDL_JoystickAllowBackgroundEventsChanged(), and SDL_PrivateJoystickShouldIgnoreEvent().
|
static |
Definition at line 36 of file SDL_joystick.c.
Referenced by SDL_JoystickClose(), SDL_JoystickFromInstanceID(), SDL_JoystickOpen(), SDL_JoystickQuit(), and SDL_JoystickUpdate().
|
static |
Definition at line 37 of file SDL_joystick.c.
Referenced by SDL_JoystickClose(), SDL_JoystickQuit(), and SDL_JoystickUpdate().