SDL_HapticCondition(3type)

NAME
SDL_HapticCondition - A structure containing a template for a Condition effect.

SYNOPSIS
#include <SDL3/SDL_haptic.h>

typedef struct SDL_HapticCondition
{
    /* Header */
    Uint16 type;            /**< SDL_HAPTIC_SPRING, SDL_HAPTIC_DAMPER,
                                 SDL_HAPTIC_INERTIA or SDL_HAPTIC_FRICTION */
    SDL_HapticDirection direction;  /**< Direction of the effect. */

    /* Replay */
    Uint32 length;          /**< Duration of the effect. */
    Uint16 delay;           /**< Delay before starting the effect. */

    /* Trigger */
    Uint16 button;          /**< Button that triggers the effect. */
    Uint16 interval;        /**< How soon it can be triggered again after button. */

    /* Condition */
    Uint16 right_sat[3];    /**< Level when joystick is to the positive side; max 0xFFFF. */
    Uint16 left_sat[3];     /**< Level when joystick is to the negative side; max 0xFFFF. */
    Sint16 right_coeff[3];  /**< How fast to increase the force towards the positive side. */
    Sint16 left_coeff[3];   /**< How fast to increase the force towards the negative side. */
    Uint16 deadband[3];     /**< Size of the dead zone; max 0xFFFF: whole axis-range when 0-centered. */
    Sint16 center[3];       /**< Position of the dead zone. */
} SDL_HapticCondition;

DESCRIPTION
The struct handles the following effects:

• SDL_HAPTIC_SPRING: Effect based on axes position.

• SDL_HAPTIC_DAMPER: Effect based on axes velocity.

• SDL_HAPTIC_INERTIA: Effect based on axes acceleration.

• SDL_HAPTIC_FRICTION: Effect based on axes movement.

Direction is handled by condition internals instead of a direction member. The condition effect specific members have three parameters. The first refers to the X axis, the second refers to the Y axis and the third refers to the Z axis. The right terms refer to the positive side of the axis and the left terms refer to the negative side of the axis. Please refer to the SDL_HapticDirection diagram for which side is positive and which is negative.

AVAILABILITY
This struct is available since SDL 3.2.0.

SEE ALSO
SDL_HapticDirection(3type), SDL_HAPTIC_SPRING(3), SDL_HAPTIC_DAMPER(3), SDL_HAPTIC_INERTIA(3), SDL_HAPTIC_FRICTION(3), SDL_HapticEffect(3type)