{ "header": "SDL_joystick.h", "opaque_types": [ { "name": "SDL_Joystick" } ], "typedefs": [ { "name": "SDL_JoystickID", "underlying_type": "Uint32" } ], "function_pointers": [], "enums": [ { "name": "SDL_JoystickType", "values": [ { "name": "SDL_JOYSTICK_TYPE_UNKNOWN" }, { "name": "SDL_JOYSTICK_TYPE_GAMEPAD" }, { "name": "SDL_JOYSTICK_TYPE_WHEEL" }, { "name": "SDL_JOYSTICK_TYPE_ARCADE_STICK" }, { "name": "SDL_JOYSTICK_TYPE_FLIGHT_STICK" }, { "name": "SDL_JOYSTICK_TYPE_DANCE_PAD" }, { "name": "SDL_JOYSTICK_TYPE_GUITAR" }, { "name": "SDL_JOYSTICK_TYPE_DRUM_KIT" }, { "name": "SDL_JOYSTICK_TYPE_ARCADE_PAD" }, { "name": "SDL_JOYSTICK_TYPE_THROTTLE" }, { "name": "SDL_JOYSTICK_TYPE_COUNT" } ] }, { "name": "SDL_JoystickConnectionState", "values": [ { "name": "SDL_JOYSTICK_CONNECTION_UNKNOWN" }, { "name": "SDL_JOYSTICK_CONNECTION_WIRED" }, { "name": "SDL_JOYSTICK_CONNECTION_WIRELESS" } ] } ], "structs": [ { "name": "SDL_VirtualJoystickTouchpadDesc", "fields": [ { "name": "nfingers", "type": "Uint16", "comment": "the number of simultaneous fingers on this touchpad" }, { "name": "padding", "type": "Uint16[3]" } ] }, { "name": "SDL_VirtualJoystickSensorDesc", "fields": [ { "name": "_type", "type": "SDL_SensorType", "comment": "the type of this sensor" }, { "name": "rate", "type": "float", "comment": "the update frequency of this sensor, may be 0.0f" } ] }, { "name": "SDL_VirtualJoystickDesc", "fields": [ { "name": "version", "type": "Uint32", "comment": "the version of this interface" }, { "name": "_type", "type": "Uint16", "comment": "`SDL_JoystickType`" }, { "name": "padding", "type": "Uint16", "comment": "unused" }, { "name": "vendor_id", "type": "Uint16", "comment": "the USB vendor ID of this joystick" }, { "name": "product_id", "type": "Uint16", "comment": "the USB product ID of this joystick" }, { "name": "naxes", "type": "Uint16", "comment": "the number of axes on this joystick" }, { "name": "nbuttons", "type": "Uint16", "comment": "the number of buttons on this joystick" }, { "name": "nballs", "type": "Uint16", "comment": "the number of balls on this joystick" }, { "name": "nhats", "type": "Uint16", "comment": "the number of hats on this joystick" }, { "name": "ntouchpads", "type": "Uint16", "comment": "the number of touchpads on this joystick, requires `touchpads` to point at valid descriptions" }, { "name": "nsensors", "type": "Uint16", "comment": "the number of sensors on this joystick, requires `sensors` to point at valid descriptions" }, { "name": "padding2", "type": "Uint16[2]", "comment": "unused" }, { "name": "name", "type": "const char *", "comment": "the name of the joystick" }, { "name": "touchpads", "type": "const SDL_VirtualJoystickTouchpadDesc *", "comment": "A pointer to an array of touchpad descriptions, required if `ntouchpads` is > 0" }, { "name": "sensors", "type": "const SDL_VirtualJoystickSensorDesc *", "comment": "A pointer to an array of sensor descriptions, required if `nsensors` is > 0" }, { "name": "userdata", "type": "void *", "comment": "User data pointer passed to callbacks" }, { "name": "Update", "type": "void (SDLCALL *Update)(void *userdata)", "comment": "Called when the joystick state should be updated" }, { "name": "SetPlayerIndex", "type": "void (SDLCALL *SetPlayerIndex)(void *userdata, int player_index)", "comment": "Called when the player index is set" }, { "name": "Rumble", "type": "bool (SDLCALL *Rumble)(void *userdata, Uint16 low_frequency_rumble, Uint16 high_frequency_rumble)", "comment": "Implements SDL_RumbleJoystick()" }, { "name": "RumbleTriggers", "type": "bool (SDLCALL *RumbleTriggers)(void *userdata, Uint16 left_rumble, Uint16 right_rumble)", "comment": "Implements SDL_RumbleJoystickTriggers()" }, { "name": "SetLED", "type": "bool (SDLCALL *SetLED)(void *userdata, Uint8 red, Uint8 green, Uint8 blue)", "comment": "Implements SDL_SetJoystickLED()" }, { "name": "SendEffect", "type": "bool (SDLCALL *SendEffect)(void *userdata, const void *data, int size)", "comment": "Implements SDL_SendJoystickEffect()" }, { "name": "SetSensorsEnabled", "type": "bool (SDLCALL *SetSensorsEnabled)(void *userdata, bool enabled)", "comment": "Implements SDL_SetGamepadSensorEnabled()" }, { "name": "Cleanup", "type": "void (SDLCALL *Cleanup)(void *userdata)", "comment": "Cleans up the userdata when the joystick is detached" } ] } ], "unions": [], "flags": [], "functions": [ { "name": "SDL_LockJoysticks", "return_type": "void", "parameters": [] }, { "name": "SDL_UnlockJoysticks", "return_type": "void", "parameters": [] }, { "name": "SDL_HasJoystick", "return_type": "bool", "parameters": [] }, { "name": "SDL_GetJoysticks", "return_type": "SDL_JoystickID *", "parameters": [ { "name": "count", "type": "int *" } ] }, { "name": "SDL_GetJoystickNameForID", "return_type": "const char *", "parameters": [ { "name": "instance_id", "type": "SDL_JoystickID" } ] }, { "name": "SDL_GetJoystickPathForID", "return_type": "const char *", "parameters": [ { "name": "instance_id", "type": "SDL_JoystickID" } ] }, { "name": "SDL_GetJoystickPlayerIndexForID", "return_type": "int", "parameters": [ { "name": "instance_id", "type": "SDL_JoystickID" } ] }, { "name": "SDL_GetJoystickGUIDForID", "return_type": "SDL_GUID", "parameters": [ { "name": "instance_id", "type": "SDL_JoystickID" } ] }, { "name": "SDL_GetJoystickVendorForID", "return_type": "Uint16", "parameters": [ { "name": "instance_id", "type": "SDL_JoystickID" } ] }, { "name": "SDL_GetJoystickProductForID", "return_type": "Uint16", "parameters": [ { "name": "instance_id", "type": "SDL_JoystickID" } ] }, { "name": "SDL_GetJoystickProductVersionForID", "return_type": "Uint16", "parameters": [ { "name": "instance_id", "type": "SDL_JoystickID" } ] }, { "name": "SDL_GetJoystickTypeForID", "return_type": "SDL_JoystickType", "parameters": [ { "name": "instance_id", "type": "SDL_JoystickID" } ] }, { "name": "SDL_OpenJoystick", "return_type": "SDL_Joystick *", "parameters": [ { "name": "instance_id", "type": "SDL_JoystickID" } ] }, { "name": "SDL_GetJoystickFromID", "return_type": "SDL_Joystick *", "parameters": [ { "name": "instance_id", "type": "SDL_JoystickID" } ] }, { "name": "SDL_GetJoystickFromPlayerIndex", "return_type": "SDL_Joystick *", "parameters": [ { "name": "player_index", "type": "int" } ] }, { "name": "SDL_AttachVirtualJoystick", "return_type": "SDL_JoystickID", "parameters": [ { "name": "desc", "type": "const SDL_VirtualJoystickDesc *" } ] }, { "name": "SDL_DetachVirtualJoystick", "return_type": "bool", "parameters": [ { "name": "instance_id", "type": "SDL_JoystickID" } ] }, { "name": "SDL_IsJoystickVirtual", "return_type": "bool", "parameters": [ { "name": "instance_id", "type": "SDL_JoystickID" } ] }, { "name": "SDL_SetJoystickVirtualAxis", "return_type": "bool", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" }, { "name": "axis", "type": "int" }, { "name": "value", "type": "Sint16" } ] }, { "name": "SDL_SetJoystickVirtualBall", "return_type": "bool", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" }, { "name": "ball", "type": "int" }, { "name": "xrel", "type": "Sint16" }, { "name": "yrel", "type": "Sint16" } ] }, { "name": "SDL_SetJoystickVirtualButton", "return_type": "bool", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" }, { "name": "button", "type": "int" }, { "name": "down", "type": "bool" } ] }, { "name": "SDL_SetJoystickVirtualHat", "return_type": "bool", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" }, { "name": "hat", "type": "int" }, { "name": "value", "type": "Uint8" } ] }, { "name": "SDL_SetJoystickVirtualTouchpad", "return_type": "bool", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" }, { "name": "touchpad", "type": "int" }, { "name": "finger", "type": "int" }, { "name": "down", "type": "bool" }, { "name": "x", "type": "float" }, { "name": "y", "type": "float" }, { "name": "pressure", "type": "float" } ] }, { "name": "SDL_SendJoystickVirtualSensorData", "return_type": "bool", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" }, { "name": "_type", "type": "SDL_SensorType" }, { "name": "sensor_timestamp", "type": "Uint64" }, { "name": "data", "type": "const float *" }, { "name": "num_values", "type": "int" } ] }, { "name": "SDL_GetJoystickProperties", "return_type": "SDL_PropertiesID", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" } ] }, { "name": "SDL_GetJoystickName", "return_type": "const char *", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" } ] }, { "name": "SDL_GetJoystickPath", "return_type": "const char *", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" } ] }, { "name": "SDL_GetJoystickPlayerIndex", "return_type": "int", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" } ] }, { "name": "SDL_SetJoystickPlayerIndex", "return_type": "bool", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" }, { "name": "player_index", "type": "int" } ] }, { "name": "SDL_GetJoystickGUID", "return_type": "SDL_GUID", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" } ] }, { "name": "SDL_GetJoystickVendor", "return_type": "Uint16", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" } ] }, { "name": "SDL_GetJoystickProduct", "return_type": "Uint16", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" } ] }, { "name": "SDL_GetJoystickProductVersion", "return_type": "Uint16", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" } ] }, { "name": "SDL_GetJoystickFirmwareVersion", "return_type": "Uint16", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" } ] }, { "name": "SDL_GetJoystickSerial", "return_type": "const char *", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" } ] }, { "name": "SDL_GetJoystickType", "return_type": "SDL_JoystickType", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" } ] }, { "name": "SDL_GetJoystickGUIDInfo", "return_type": "void", "parameters": [ { "name": "guid", "type": "SDL_GUID" }, { "name": "vendor", "type": "Uint16 *" }, { "name": "product", "type": "Uint16 *" }, { "name": "version", "type": "Uint16 *" }, { "name": "crc16", "type": "Uint16 *" } ] }, { "name": "SDL_JoystickConnected", "return_type": "bool", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" } ] }, { "name": "SDL_GetJoystickID", "return_type": "SDL_JoystickID", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" } ] }, { "name": "SDL_GetNumJoystickAxes", "return_type": "int", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" } ] }, { "name": "SDL_GetNumJoystickBalls", "return_type": "int", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" } ] }, { "name": "SDL_GetNumJoystickHats", "return_type": "int", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" } ] }, { "name": "SDL_GetNumJoystickButtons", "return_type": "int", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" } ] }, { "name": "SDL_SetJoystickEventsEnabled", "return_type": "void", "parameters": [ { "name": "enabled", "type": "bool" } ] }, { "name": "SDL_JoystickEventsEnabled", "return_type": "bool", "parameters": [] }, { "name": "SDL_UpdateJoysticks", "return_type": "void", "parameters": [] }, { "name": "SDL_GetJoystickAxis", "return_type": "Sint16", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" }, { "name": "axis", "type": "int" } ] }, { "name": "SDL_GetJoystickAxisInitialState", "return_type": "bool", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" }, { "name": "axis", "type": "int" }, { "name": "state", "type": "Sint16 *" } ] }, { "name": "SDL_GetJoystickBall", "return_type": "bool", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" }, { "name": "ball", "type": "int" }, { "name": "dx", "type": "int *" }, { "name": "dy", "type": "int *" } ] }, { "name": "SDL_GetJoystickHat", "return_type": "Uint8", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" }, { "name": "hat", "type": "int" } ] }, { "name": "SDL_GetJoystickButton", "return_type": "bool", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" }, { "name": "button", "type": "int" } ] }, { "name": "SDL_RumbleJoystick", "return_type": "bool", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" }, { "name": "low_frequency_rumble", "type": "Uint16" }, { "name": "high_frequency_rumble", "type": "Uint16" }, { "name": "duration_ms", "type": "Uint32" } ] }, { "name": "SDL_RumbleJoystickTriggers", "return_type": "bool", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" }, { "name": "left_rumble", "type": "Uint16" }, { "name": "right_rumble", "type": "Uint16" }, { "name": "duration_ms", "type": "Uint32" } ] }, { "name": "SDL_SetJoystickLED", "return_type": "bool", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" }, { "name": "red", "type": "Uint8" }, { "name": "green", "type": "Uint8" }, { "name": "blue", "type": "Uint8" } ] }, { "name": "SDL_SendJoystickEffect", "return_type": "bool", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" }, { "name": "data", "type": "const void *" }, { "name": "size", "type": "int" } ] }, { "name": "SDL_CloseJoystick", "return_type": "void", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" } ] }, { "name": "SDL_GetJoystickConnectionState", "return_type": "SDL_JoystickConnectionState", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" } ] }, { "name": "SDL_GetJoystickPowerInfo", "return_type": "SDL_PowerState", "parameters": [ { "name": "joystick", "type": "SDL_Joystick *" }, { "name": "percent", "type": "int *" } ] } ] }