SDL_VirtualJoystickDesc Struct Reference

`#include <SDL_joystick.h>`

Collaboration diagram for SDL_VirtualJoystickDesc:
[legend]

## 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_VirtualJoystickTouchpadDesc * | touchpads
const SDL_VirtualJoystickSensorDesc * | sensors
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 422 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 438 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 436 of file SDL_joystick.h.

## Cleanup

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

Cleans up the userdata when the joystick is detached

Definition at line 452 of file SDL_joystick.h.

## name

const char* SDL_VirtualJoystickDesc::name

the name of the joystick

Definition at line 440 of file SDL_joystick.h.

## naxes

Uint16 SDL_VirtualJoystickDesc::naxes

the number of axes on this joystick

Definition at line 429 of file SDL_joystick.h.

## nballs

Uint16 SDL_VirtualJoystickDesc::nballs

the number of balls on this joystick

Definition at line 431 of file SDL_joystick.h.

## nbuttons

Uint16 SDL_VirtualJoystickDesc::nbuttons

the number of buttons on this joystick

Definition at line 430 of file SDL_joystick.h.

## nhats

Uint16 SDL_VirtualJoystickDesc::nhats

the number of hats on this joystick

Definition at line 432 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 434 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 433 of file SDL_joystick.h.

## padding

Uint16 SDL_VirtualJoystickDesc::padding

unused

Definition at line 426 of file SDL_joystick.h.

## padding2

Uint16 SDL_VirtualJoystickDesc::padding2[2]

unused

Definition at line 435 of file SDL_joystick.h.

## product_id

Uint16 SDL_VirtualJoystickDesc::product_id

the USB product ID of this joystick

Definition at line 428 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 447 of file SDL_joystick.h.

## RumbleTriggers

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

Implements SDL_RumbleJoystickTriggers()

Definition at line 448 of file SDL_joystick.h.

## SendEffect

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

Implements SDL_SendJoystickEffect()

Definition at line 450 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 442 of file SDL_joystick.h.

## SetLED

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

Implements SDL_SetJoystickLED()

Definition at line 449 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 446 of file SDL_joystick.h.

## SetSensorsEnabled

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

Implements SDL_SetGamepadSensorEnabled()

Definition at line 451 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 441 of file SDL_joystick.h.

## type

Uint16 SDL_VirtualJoystickDesc::type

`SDL_JoystickType`

Definition at line 425 of file SDL_joystick.h.

## Update

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

Called when the joystick state should be updated

Definition at line 445 of file SDL_joystick.h.

## userdata

void* SDL_VirtualJoystickDesc::userdata

User data pointer passed to callbacks

Definition at line 444 of file SDL_joystick.h.

## vendor_id

Uint16 SDL_VirtualJoystickDesc::vendor_id

the USB vendor ID of this joystick

Definition at line 427 of file SDL_joystick.h.

## version

Uint32 SDL_VirtualJoystickDesc::version

the version of this interface

Definition at line 424 of file SDL_joystick.h.

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

- SDL_joystick.h