1555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot/* 2555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot Simple DirectMedia Layer 3555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot Copyright (C) 1997-2014 Sam Lantinga <slouken@libsdl.org> 4555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 5555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot This software is provided 'as-is', without any express or implied 6555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot warranty. In no event will the authors be held liable for any damages 7555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot arising from the use of this software. 8555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 9555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot Permission is granted to anyone to use this software for any purpose, 10555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot including commercial applications, and to alter it and redistribute it 11555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot freely, subject to the following restrictions: 12555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 13555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 1. The origin of this software must not be misrepresented; you must not 14555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot claim that you wrote the original software. If you use this software 15555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot in a product, an acknowledgment in the product documentation would be 16555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot appreciated but is not required. 17555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 2. Altered source versions must be plainly marked as such, and must not be 18555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot misrepresented as being the original software. 19555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 3. This notice may not be removed or altered from any source distribution. 20555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot*/ 21555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 22555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot/** 23555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * \file SDL_joystick.h 24555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * 25555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * Include file for SDL joystick event handling 26555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * 27555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * The term "device_index" identifies currently plugged in joystick devices between 0 and SDL_NumJoysticks, with the exact joystick 28555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * behind a device_index changing as joysticks are plugged and unplugged. 29555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * 30555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * The term "instance_id" is the current instantiation of a joystick device in the system, if the joystick is removed and then re-inserted 31555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * then it will get a new instance_id, instance_id's are monotonically increasing identifiers of a joystick plugged in. 32555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * 33555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * The term JoystickGUID is a stable 128-bit identifier for a joystick device that does not change over time, it identifies class of 34555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * the device (a X360 wired controller for example). This identifier is platform dependent. 35555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * 36555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * 37555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot */ 38555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 39555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#ifndef _SDL_joystick_h 40555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define _SDL_joystick_h 41555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 42555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#include "SDL_stdinc.h" 43555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#include "SDL_error.h" 44555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 45555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#include "begin_code.h" 46555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot/* Set up for C function definitions, even when using C++ */ 47555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#ifdef __cplusplus 48555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robotextern "C" { 49555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#endif 50555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 51555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot/** 52555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * \file SDL_joystick.h 53555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * 54555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * In order to use these functions, SDL_Init() must have been called 55555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * with the ::SDL_INIT_JOYSTICK flag. This causes SDL to scan the system 56555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * for joysticks, and load appropriate drivers. 57555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * 58555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * If you would like to receive joystick updates while the application 59555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * is in the background, you should set the following hint before calling 60555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * SDL_Init(): SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS 61555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot */ 62555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 63555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot/* The joystick structure used to identify an SDL joystick */ 64555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robotstruct _SDL_Joystick; 65555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robottypedef struct _SDL_Joystick SDL_Joystick; 66555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 67555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot/* A structure that encodes the stable unique id for a joystick device */ 68555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robottypedef struct { 69555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot Uint8 data[16]; 70555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot} SDL_JoystickGUID; 71555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 72555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robottypedef Sint32 SDL_JoystickID; 73555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 74555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 75555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot/* Function prototypes */ 76555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot/** 77555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * Count the number of joysticks attached to the system right now 78555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot */ 79555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robotextern DECLSPEC int SDLCALL SDL_NumJoysticks(void); 80555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 81555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot/** 82555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * Get the implementation dependent name of a joystick. 83555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * This can be called before any joysticks are opened. 84555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * If no name can be found, this function returns NULL. 85555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot */ 86555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robotextern DECLSPEC const char *SDLCALL SDL_JoystickNameForIndex(int device_index); 87555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 88555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot/** 89555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * Open a joystick for use. 90555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * The index passed as an argument refers tothe N'th joystick on the system. 91555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * This index is the value which will identify this joystick in future joystick 92555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * events. 93555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * 94555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * \return A joystick identifier, or NULL if an error occurred. 95555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot */ 96555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robotextern DECLSPEC SDL_Joystick *SDLCALL SDL_JoystickOpen(int device_index); 97555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 98555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot/** 99555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * Return the name for this currently opened joystick. 100555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * If no name can be found, this function returns NULL. 101555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot */ 102555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robotextern DECLSPEC const char *SDLCALL SDL_JoystickName(SDL_Joystick * joystick); 103555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 104555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot/** 105555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * Return the GUID for the joystick at this index 106555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot */ 107555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robotextern DECLSPEC SDL_JoystickGUID SDLCALL SDL_JoystickGetDeviceGUID(int device_index); 108555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 109555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot/** 110555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * Return the GUID for this opened joystick 111555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot */ 112555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robotextern DECLSPEC SDL_JoystickGUID SDLCALL SDL_JoystickGetGUID(SDL_Joystick * joystick); 113555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 114555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot/** 115555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * Return a string representation for this guid. pszGUID must point to at least 33 bytes 116555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * (32 for the string plus a NULL terminator). 117555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot */ 118555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robotextern DECLSPEC void SDLCALL SDL_JoystickGetGUIDString(SDL_JoystickGUID guid, char *pszGUID, int cbGUID); 119555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 120555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot/** 121555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * convert a string into a joystick formatted guid 122555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot */ 123555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robotextern DECLSPEC SDL_JoystickGUID SDLCALL SDL_JoystickGetGUIDFromString(const char *pchGUID); 124555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 125555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot/** 126555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * Returns SDL_TRUE if the joystick has been opened and currently connected, or SDL_FALSE if it has not. 127555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot */ 128555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robotextern DECLSPEC SDL_bool SDLCALL SDL_JoystickGetAttached(SDL_Joystick * joystick); 129555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 130555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot/** 131555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * Get the instance ID of an opened joystick or -1 if the joystick is invalid. 132555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot */ 133555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robotextern DECLSPEC SDL_JoystickID SDLCALL SDL_JoystickInstanceID(SDL_Joystick * joystick); 134555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 135555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot/** 136555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * Get the number of general axis controls on a joystick. 137555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot */ 138555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robotextern DECLSPEC int SDLCALL SDL_JoystickNumAxes(SDL_Joystick * joystick); 139555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 140555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot/** 141555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * Get the number of trackballs on a joystick. 142555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * 143555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * Joystick trackballs have only relative motion events associated 144555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * with them and their state cannot be polled. 145555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot */ 146555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robotextern DECLSPEC int SDLCALL SDL_JoystickNumBalls(SDL_Joystick * joystick); 147555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 148555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot/** 149555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * Get the number of POV hats on a joystick. 150555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot */ 151555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robotextern DECLSPEC int SDLCALL SDL_JoystickNumHats(SDL_Joystick * joystick); 152555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 153555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot/** 154555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * Get the number of buttons on a joystick. 155555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot */ 156555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robotextern DECLSPEC int SDLCALL SDL_JoystickNumButtons(SDL_Joystick * joystick); 157555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 158555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot/** 159555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * Update the current state of the open joysticks. 160555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * 161555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * This is called automatically by the event loop if any joystick 162555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * events are enabled. 163555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot */ 164555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robotextern DECLSPEC void SDLCALL SDL_JoystickUpdate(void); 165555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 166555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot/** 167555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * Enable/disable joystick event polling. 168555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * 169555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * If joystick events are disabled, you must call SDL_JoystickUpdate() 170555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * yourself and check the state of the joystick when you want joystick 171555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * information. 172555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * 173555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * The state can be one of ::SDL_QUERY, ::SDL_ENABLE or ::SDL_IGNORE. 174555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot */ 175555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robotextern DECLSPEC int SDLCALL SDL_JoystickEventState(int state); 176555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 177555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot/** 178555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * Get the current state of an axis control on a joystick. 179555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * 180555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * The state is a value ranging from -32768 to 32767. 181555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * 182555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * The axis indices start at index 0. 183555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot */ 184555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robotextern DECLSPEC Sint16 SDLCALL SDL_JoystickGetAxis(SDL_Joystick * joystick, 185555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot int axis); 186555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 187555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot/** 188555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * \name Hat positions 189555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot */ 190555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot/* @{ */ 191555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define SDL_HAT_CENTERED 0x00 192555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define SDL_HAT_UP 0x01 193555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define SDL_HAT_RIGHT 0x02 194555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define SDL_HAT_DOWN 0x04 195555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define SDL_HAT_LEFT 0x08 196555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define SDL_HAT_RIGHTUP (SDL_HAT_RIGHT|SDL_HAT_UP) 197555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define SDL_HAT_RIGHTDOWN (SDL_HAT_RIGHT|SDL_HAT_DOWN) 198555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define SDL_HAT_LEFTUP (SDL_HAT_LEFT|SDL_HAT_UP) 199555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define SDL_HAT_LEFTDOWN (SDL_HAT_LEFT|SDL_HAT_DOWN) 200555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot/* @} */ 201555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 202555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot/** 203555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * Get the current state of a POV hat on a joystick. 204555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * 205555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * The hat indices start at index 0. 206555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * 207555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * \return The return value is one of the following positions: 208555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * - ::SDL_HAT_CENTERED 209555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * - ::SDL_HAT_UP 210555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * - ::SDL_HAT_RIGHT 211555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * - ::SDL_HAT_DOWN 212555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * - ::SDL_HAT_LEFT 213555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * - ::SDL_HAT_RIGHTUP 214555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * - ::SDL_HAT_RIGHTDOWN 215555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * - ::SDL_HAT_LEFTUP 216555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * - ::SDL_HAT_LEFTDOWN 217555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot */ 218555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robotextern DECLSPEC Uint8 SDLCALL SDL_JoystickGetHat(SDL_Joystick * joystick, 219555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot int hat); 220555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 221555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot/** 222555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * Get the ball axis change since the last poll. 223555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * 224555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * \return 0, or -1 if you passed it invalid parameters. 225555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * 226555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * The ball indices start at index 0. 227555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot */ 228555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robotextern DECLSPEC int SDLCALL SDL_JoystickGetBall(SDL_Joystick * joystick, 229555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot int ball, int *dx, int *dy); 230555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 231555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot/** 232555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * Get the current state of a button on a joystick. 233555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * 234555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * The button indices start at index 0. 235555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot */ 236555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robotextern DECLSPEC Uint8 SDLCALL SDL_JoystickGetButton(SDL_Joystick * joystick, 237555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot int button); 238555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 239555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot/** 240555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot * Close a joystick previously opened with SDL_JoystickOpen(). 241555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot */ 242555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robotextern DECLSPEC void SDLCALL SDL_JoystickClose(SDL_Joystick * joystick); 243555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 244555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 245555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot/* Ends C function definitions when using C++ */ 246555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#ifdef __cplusplus 247555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot} 248555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#endif 249555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#include "close_code.h" 250555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 251555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#endif /* _SDL_joystick_h */ 252555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot 253555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot/* vi: set ts=4 sw=4 expandtab: */ 254