sdlSetJoystickVirtualAxis function

bool sdlSetJoystickVirtualAxis(
  1. Pointer<SdlJoystick> joystick,
  2. int axis,
  3. int value
)

Set the state of an axis on an opened virtual joystick.

Please note that values set here will not be applied until the next call to SDL_UpdateJoysticks, which can either be called directly, or can be called indirectly through various other SDL APIs, including, but not limited to the following: SDL_PollEvent, SDL_PumpEvents, SDL_WaitEventTimeout, SDL_WaitEvent.

Note that when sending trigger axes, you should scale the value to the full range of Sint16. For example, a trigger at rest would have the value of SDL_JOYSTICK_AXIS_MIN.

\param joystick the virtual joystick on which to set state. \param axis the index of the axis on the virtual joystick to update. \param value the new value for the specified axis. \returns true on success or false on failure; call SDL_GetError() for more information.

\since This function is available since SDL 3.1.3.

extern SDL_DECLSPEC bool SDLCALL SDL_SetJoystickVirtualAxis(SDL_Joystick *joystick, int axis, Sint16 value)

Implementation

bool sdlSetJoystickVirtualAxis(
    Pointer<SdlJoystick> joystick, int axis, int value) {
  final sdlSetJoystickVirtualAxisLookupFunction = libSdl3.lookupFunction<
      Uint8 Function(Pointer<SdlJoystick> joystick, Int32 axis, Int16 value),
      int Function(Pointer<SdlJoystick> joystick, int axis,
          int value)>('SDL_SetJoystickVirtualAxis');
  return sdlSetJoystickVirtualAxisLookupFunction(joystick, axis, value) == 1;
}