sdlRumbleJoystick function

bool sdlRumbleJoystick(
  1. Pointer<SdlJoystick> joystick,
  2. int lowFrequencyRumble,
  3. int highFrequencyRumble,
  4. int durationMs,
)

Start a rumble effect.

Each call to this function cancels any previous rumble effect, and calling it with 0 intensity stops any rumbling.

This function requires you to process SDL events or call SDL_UpdateJoysticks() to update rumble state.

\param joystick the joystick to vibrate. \param low_frequency_rumble the intensity of the low frequency (left) rumble motor, from 0 to 0xFFFF. \param high_frequency_rumble the intensity of the high frequency (right) rumble motor, from 0 to 0xFFFF. \param duration_ms the duration of the rumble effect, in milliseconds. \returns true, or false if rumble isn't supported on this joystick.

\since This function is available since SDL 3.1.3.

extern SDL_DECLSPEC bool SDLCALL SDL_RumbleJoystick(SDL_Joystick *joystick, Uint16 low_frequency_rumble, Uint16 high_frequency_rumble, Uint32 duration_ms)

Implementation

bool sdlRumbleJoystick(Pointer<SdlJoystick> joystick, int lowFrequencyRumble,
    int highFrequencyRumble, int durationMs) {
  final sdlRumbleJoystickLookupFunction = libSdl3.lookupFunction<
      Uint8 Function(Pointer<SdlJoystick> joystick, Uint16 lowFrequencyRumble,
          Uint16 highFrequencyRumble, Uint32 durationMs),
      int Function(Pointer<SdlJoystick> joystick, int lowFrequencyRumble,
          int highFrequencyRumble, int durationMs)>('SDL_RumbleJoystick');
  return sdlRumbleJoystickLookupFunction(
          joystick, lowFrequencyRumble, highFrequencyRumble, durationMs) ==
      1;
}