zenilib
0.5.3.0
|
#include "SDL_config.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 |
Definition at line 797 of file SDL_joystick.c.
Referenced by DecodeIMA4Block(), EncodeIMA4Block(), and SDL_JoystickGetGUIDFromString().
|
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 398 of file SDL_joystick.c.
References _SDL_Joystick::axes, _SDL_Joystick::balls, _SDL_Joystick::buttons, _SDL_Joystick::hats, _SDL_Joystick::name, _SDL_Joystick::next, NULL, _SDL_Joystick::ref_count, SDL_free(), SDL_joysticks, and SDL_SYS_JoystickClose().
Referenced by SDL_GameControllerClose(), SDL_JoystickOpen(), SDL_JoystickQuit(), and SDL_JoystickUpdate().
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 708 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.
Referenced by SDL_ShouldPollJoystick().
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 359 of file SDL_joystick.c.
References SDL_FALSE, SDL_PrivateJoystickValid(), and SDL_SYS_JoystickAttached().
Referenced by Zeni::Controllers::detect_removed(), and SDL_GameControllerGetAttached().
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 270 of file SDL_joystick.c.
References _SDL_Joystick::axes, _SDL_Joystick::naxes, SDL_PrivateJoystickValid(), and SDL_SetError().
Referenced by SDL_GameControllerGetAxis(), and SDL_GameControllerGetButton().
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 310 of file SDL_joystick.c.
References _SDL_Joystick::balls, _SDL_Joystick::balldelta::dx, _SDL_Joystick::balldelta::dy, _SDL_Joystick::nballs, 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 338 of file SDL_joystick.c.
References _SDL_Joystick::buttons, _SDL_Joystick::nbuttons, SDL_PrivateJoystickValid(), and SDL_SetError().
Referenced by SDL_GameControllerGetAxis(), and SDL_GameControllerGetButton().
SDL_JoystickGUID SDL_JoystickGetDeviceGUID | ( | int | device_index | ) |
Return the GUID for the joystick at this index
Definition at line 752 of file SDL_joystick.c.
References SDL_NumJoysticks(), SDL_SetError(), SDL_SYS_JoystickGetDeviceGUID(), and SDL_zero.
Referenced by SDL_PrivateGetControllerMapping().
SDL_JoystickGUID SDL_JoystickGetGUID | ( | SDL_Joystick * | joystick | ) |
Return the GUID for this opened joystick
Definition at line 764 of file SDL_joystick.c.
References SDL_SYS_JoystickGetGUID().
Referenced by Zeni::Controllers::device_added().
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().
Referenced by SDL_GameControllerAddMapping().
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 770 of file SDL_joystick.c.
References SDL_JoystickGUID::data, i, and NULL.
Referenced by Zeni::Controllers::device_added(), and SDL_GameControllerMappingForGUID().
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 290 of file SDL_joystick.c.
References _SDL_Joystick::hats, _SDL_Joystick::nhats, SDL_PrivateJoystickValid(), and SDL_SetError().
Referenced by SDL_GameControllerGetButton().
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 372 of file SDL_joystick.c.
References _SDL_Joystick::instance_id, and SDL_PrivateJoystickValid().
Referenced by Zeni::Controllers::device_added().
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 385 of file SDL_joystick.c.
References _SDL_Joystick::name, NULL, and SDL_PrivateJoystickValid().
Referenced by Zeni::Controllers::get_controller_name().
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 222 of file SDL_joystick.c.
References _SDL_Joystick::naxes, and 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 246 of file SDL_joystick.c.
References _SDL_Joystick::nballs, and SDL_PrivateJoystickValid().
int SDL_JoystickNumButtons | ( | SDL_Joystick * | joystick | ) |
Get the number of buttons on a joystick.
Definition at line 258 of file SDL_joystick.c.
References _SDL_Joystick::nbuttons, and SDL_PrivateJoystickValid().
int SDL_JoystickNumHats | ( | SDL_Joystick * | joystick | ) |
Get the number of POV hats on a joystick.
Definition at line 234 of file SDL_joystick.c.
References _SDL_Joystick::nhats, and SDL_PrivateJoystickValid().
SDL_Joystick* SDL_JoystickOpen | ( | int | device_index | ) |
Open a joystick for use. The index passed as an argument refers tothe N'th joystick on the system. This index is the value which will identify this joystick in future joystick events.
Definition at line 101 of file SDL_joystick.c.
References _SDL_Joystick::axes, _SDL_Joystick::balls, _SDL_Joystick::buttons, _SDL_Joystick::hats, _SDL_Joystick::instance_id, _SDL_Joystick::name, _SDL_Joystick::naxes, _SDL_Joystick::nballs, _SDL_Joystick::nbuttons, _SDL_Joystick::next, _SDL_Joystick::nhats, NULL, _SDL_Joystick::ref_count, SDL_free(), 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().
Referenced by Zeni::Controllers::device_added(), and SDL_GameControllerOpen().
Definition at line 451 of file SDL_joystick.c.
References _SDL_Joystick::ref_count, SDL_assert, SDL_INIT_EVENTS, SDL_JoystickClose(), SDL_QuitSubSystem(), and SDL_SYS_JoystickQuit().
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 657 of file SDL_joystick.c.
References _SDL_Joystick::closed, i, _SDL_Joystick::naxes, _SDL_Joystick::nbuttons, _SDL_Joystick::next, _SDL_Joystick::nhats, NULL, _SDL_Joystick::ref_count, SDL_HAT_CENTERED, SDL_JoystickClose(), SDL_joysticks, SDL_PrivateJoystickAxis(), SDL_PrivateJoystickButton(), SDL_PrivateJoystickHat(), SDL_SYS_JoystickDetect(), SDL_SYS_JoystickUpdate(), and _SDL_Joystick::uncentered.
Referenced by SDL_GameControllerUpdate(), and SDL_PumpEvents().
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_GameControllerOpen(), SDL_JoystickGetDeviceGUID(), SDL_JoystickNameForIndex(), and SDL_JoystickOpen().
int SDL_PrivateJoystickAxis | ( | SDL_Joystick * | joystick, |
Uint8 | axis, | ||
Sint16 | value | ||
) |
Definition at line 496 of file SDL_joystick.c.
References _SDL_Joystick::axes, _SDL_Joystick::closed, _SDL_Joystick::instance_id, _SDL_Joystick::naxes, SDL_ENABLE, SDL_GetEventState, SDL_JOYAXISMOTION, SDL_PrivateJoystickShouldIgnoreEvent(), SDL_PushEvent(), and _SDL_Joystick::uncentered.
Referenced by SDL_JoystickUpdate(), and SDL_SYS_JoystickUpdate().
int SDL_PrivateJoystickBall | ( | SDL_Joystick * | joystick, |
Uint8 | ball, | ||
Sint16 | xrel, | ||
Sint16 | yrel | ||
) |
Definition at line 574 of file SDL_joystick.c.
References _SDL_Joystick::balls, _SDL_Joystick::balldelta::dx, _SDL_Joystick::balldelta::dy, _SDL_Joystick::instance_id, _SDL_Joystick::nballs, SDL_ENABLE, SDL_GetEventState, SDL_JOYBALLMOTION, SDL_PrivateJoystickShouldIgnoreEvent(), and SDL_PushEvent().
int SDL_PrivateJoystickButton | ( | SDL_Joystick * | joystick, |
Uint8 | button, | ||
Uint8 | state | ||
) |
Definition at line 610 of file SDL_joystick.c.
References _SDL_Joystick::buttons, _SDL_Joystick::instance_id, _SDL_Joystick::nbuttons, SDL_ENABLE, SDL_GetEventState, SDL_JOYBUTTONDOWN, SDL_JOYBUTTONUP, SDL_PRESSED, SDL_PrivateJoystickShouldIgnoreEvent(), SDL_PushEvent(), SDL_RELEASED, and SDL_Event::type.
Referenced by SDL_JoystickUpdate(), and SDL_SYS_JoystickUpdate().
int SDL_PrivateJoystickHat | ( | SDL_Joystick * | joystick, |
Uint8 | hat, | ||
Uint8 | value | ||
) |
Definition at line 536 of file SDL_joystick.c.
References _SDL_Joystick::closed, _SDL_Joystick::hats, _SDL_Joystick::instance_id, _SDL_Joystick::nhats, SDL_ENABLE, SDL_GetEventState, SDL_JOYHATMOTION, SDL_PrivateJoystickShouldIgnoreEvent(), SDL_PushEvent(), and _SDL_Joystick::uncentered.
Referenced by SDL_JoystickUpdate().
SDL_bool SDL_PrivateJoystickNeedsPolling | ( | ) |
Definition at line 741 of file SDL_joystick.c.
References NULL, SDL_SYS_JoystickNeedsPolling(), and SDL_TRUE.
Referenced by SDL_ShouldPollJoystick().
|
static |
Definition at line 473 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 _SDL_Joystick::closed, NULL, and SDL_SetError().
Referenced by SDL_HapticOpenFromJoystick(), SDL_JoystickGetAttached(), SDL_JoystickGetAxis(), SDL_JoystickGetBall(), SDL_JoystickGetButton(), 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_JoystickOpen(), and SDL_JoystickUpdate().
|
static |
Definition at line 37 of file SDL_joystick.c.