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 411 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 920 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 788 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 381 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 355 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 266 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 306 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 334 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 820 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 832 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 890 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 843 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 286 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 368 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 398 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 218 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 242 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 254 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 230 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 459 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 736 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().
void SDL_PrivateJoystickAdded | ( | int | device_index | ) |
Definition at line 501 of file SDL_joystick.c.
References NULL, SDL_ENABLE, SDL_EventOK, SDL_EventOKParam, SDL_GetEventState, SDL_JOYDEVICEADDED, SDL_PushEvent, and SDL_Event::type.
Referenced by SDL_SYS_AddJoystickDevice().
Definition at line 567 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 648 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 913 of file SDL_joystick.c.
Definition at line 684 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 608 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().
void SDL_PrivateJoystickRemoved | ( | SDL_JoystickID | device_instance | ) |
Definition at line 547 of file SDL_joystick.c.
References NULL, SDL_ENABLE, SDL_EventOK, SDL_EventOKParam, SDL_GetEventState, SDL_JOYDEVICEREMOVED, SDL_PushEvent, SDL_Event::type, and UpdateEventsForDeviceRemoval().
Referenced by SDL_SYS_RemoveJoystickDevice().
|
static |
Definition at line 480 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 200 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().
|
static |
Definition at line 523 of file SDL_joystick.c.
References events, i, SDL_Event::jdevice, NULL, SDL_ADDEVENT, SDL_GETEVENT, SDL_JOYDEVICEADDED, SDL_PEEKEVENT, SDL_PeepEvents, SDL_stack_alloc, SDL_stack_free, and SDL_JoyDeviceEvent::which.
Referenced by SDL_PrivateJoystickRemoved().
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().