SDL 3.0
SDL_VirtualJoystickDesc Struct Reference

#include <SDL_joystick.h>

Collaboration diagram for SDL_VirtualJoystickDesc:

Data Fields

Uint32 version
Uint16 type
Uint16 padding
Uint16 vendor_id
Uint16 product_id
Uint16 naxes
Uint16 nbuttons
Uint16 nballs
Uint16 nhats
Uint16 ntouchpads
Uint16 nsensors
Uint16 padding2 [2]
Uint32 button_mask
Uint32 axis_mask
const char * name
const SDL_VirtualJoystickTouchpadDesctouchpads
const SDL_VirtualJoystickSensorDescsensors
void * userdata
void(* Update )(void *userdata)
void(* SetPlayerIndex )(void *userdata, int player_index)
bool(* Rumble )(void *userdata, Uint16 low_frequency_rumble, Uint16 high_frequency_rumble)
bool(* RumbleTriggers )(void *userdata, Uint16 left_rumble, Uint16 right_rumble)
bool(* SetLED )(void *userdata, Uint8 red, Uint8 green, Uint8 blue)
bool(* SendEffect )(void *userdata, const void *data, int size)
bool(* SetSensorsEnabled )(void *userdata, bool enabled)
void(* Cleanup )(void *userdata)

Detailed Description

The structure that describes a virtual joystick.

This structure should be initialized using SDL_INIT_INTERFACE(). All elements of this structure are optional.

Since
This struct is available since SDL 3.2.0.
See also
SDL_AttachVirtualJoystick
SDL_INIT_INTERFACE
SDL_VirtualJoystickSensorDesc
SDL_VirtualJoystickTouchpadDesc

Definition at line 465 of file SDL_joystick.h.

Field Documentation

◆ axis_mask

Uint32 SDL_VirtualJoystickDesc::axis_mask

A mask of which axes are valid for this controller e.g. (1 << SDL_GAMEPAD_AXIS_LEFTX)

Definition at line 481 of file SDL_joystick.h.

◆ button_mask

Uint32 SDL_VirtualJoystickDesc::button_mask

A mask of which buttons are valid for this controller e.g. (1 << SDL_GAMEPAD_BUTTON_SOUTH)

Definition at line 479 of file SDL_joystick.h.

◆ Cleanup

void(* SDL_VirtualJoystickDesc::Cleanup) (void *userdata)

Cleans up the userdata when the joystick is detached

Definition at line 495 of file SDL_joystick.h.

◆ name

const char* SDL_VirtualJoystickDesc::name

the name of the joystick

Definition at line 483 of file SDL_joystick.h.

◆ naxes

Uint16 SDL_VirtualJoystickDesc::naxes

the number of axes on this joystick

Definition at line 472 of file SDL_joystick.h.

◆ nballs

Uint16 SDL_VirtualJoystickDesc::nballs

the number of balls on this joystick

Definition at line 474 of file SDL_joystick.h.

◆ nbuttons

Uint16 SDL_VirtualJoystickDesc::nbuttons

the number of buttons on this joystick

Definition at line 473 of file SDL_joystick.h.

◆ nhats

Uint16 SDL_VirtualJoystickDesc::nhats

the number of hats on this joystick

Definition at line 475 of file SDL_joystick.h.

◆ nsensors

Uint16 SDL_VirtualJoystickDesc::nsensors

the number of sensors on this joystick, requires sensors to point at valid descriptions

Definition at line 477 of file SDL_joystick.h.

◆ ntouchpads

Uint16 SDL_VirtualJoystickDesc::ntouchpads

the number of touchpads on this joystick, requires touchpads to point at valid descriptions

Definition at line 476 of file SDL_joystick.h.

◆ padding

Uint16 SDL_VirtualJoystickDesc::padding

unused

Definition at line 469 of file SDL_joystick.h.

◆ padding2

Uint16 SDL_VirtualJoystickDesc::padding2[2]

unused

Definition at line 478 of file SDL_joystick.h.

◆ product_id

Uint16 SDL_VirtualJoystickDesc::product_id

the USB product ID of this joystick

Definition at line 471 of file SDL_joystick.h.

◆ Rumble

bool(* SDL_VirtualJoystickDesc::Rumble) (void *userdata, Uint16 low_frequency_rumble, Uint16 high_frequency_rumble)

Implements SDL_RumbleJoystick()

Definition at line 490 of file SDL_joystick.h.

◆ RumbleTriggers

bool(* SDL_VirtualJoystickDesc::RumbleTriggers) (void *userdata, Uint16 left_rumble, Uint16 right_rumble)

Implements SDL_RumbleJoystickTriggers()

Definition at line 491 of file SDL_joystick.h.

◆ SendEffect

bool(* SDL_VirtualJoystickDesc::SendEffect) (void *userdata, const void *data, int size)

Implements SDL_SendJoystickEffect()

Definition at line 493 of file SDL_joystick.h.

◆ sensors

const SDL_VirtualJoystickSensorDesc* SDL_VirtualJoystickDesc::sensors

A pointer to an array of sensor descriptions, required if nsensors is > 0

Definition at line 485 of file SDL_joystick.h.

◆ SetLED

bool(* SDL_VirtualJoystickDesc::SetLED) (void *userdata, Uint8 red, Uint8 green, Uint8 blue)

Implements SDL_SetJoystickLED()

Definition at line 492 of file SDL_joystick.h.

◆ SetPlayerIndex

void(* SDL_VirtualJoystickDesc::SetPlayerIndex) (void *userdata, int player_index)

Called when the player index is set

Definition at line 489 of file SDL_joystick.h.

◆ SetSensorsEnabled

bool(* SDL_VirtualJoystickDesc::SetSensorsEnabled) (void *userdata, bool enabled)

Implements SDL_SetGamepadSensorEnabled()

Definition at line 494 of file SDL_joystick.h.

◆ touchpads

const SDL_VirtualJoystickTouchpadDesc* SDL_VirtualJoystickDesc::touchpads

A pointer to an array of touchpad descriptions, required if ntouchpads is > 0

Definition at line 484 of file SDL_joystick.h.

◆ type

Uint16 SDL_VirtualJoystickDesc::type

SDL_JoystickType

Definition at line 468 of file SDL_joystick.h.

◆ Update

void(* SDL_VirtualJoystickDesc::Update) (void *userdata)

Called when the joystick state should be updated

Definition at line 488 of file SDL_joystick.h.

◆ userdata

void* SDL_VirtualJoystickDesc::userdata

User data pointer passed to callbacks

Definition at line 487 of file SDL_joystick.h.

◆ vendor_id

Uint16 SDL_VirtualJoystickDesc::vendor_id

the USB vendor ID of this joystick

Definition at line 470 of file SDL_joystick.h.

◆ version

Uint32 SDL_VirtualJoystickDesc::version

the version of this interface

Definition at line 467 of file SDL_joystick.h.


The documentation for this struct was generated from the following file: