# SDL_HapticCondition
A structure containing a template for a Condition effect.
## Header File
Defined in [SDL_haptic.h](https://github.com/libsdl-org/SDL/blob/SDL2/include/SDL_haptic.h)
## Syntax
```c
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;
```
## Remarks
The struct handles the following effects:
- [SDL_HAPTIC_SPRING](SDL_HAPTIC_SPRING): Effect based on axes position.
- [SDL_HAPTIC_DAMPER](SDL_HAPTIC_DAMPER): Effect based on axes velocity.
- [SDL_HAPTIC_INERTIA](SDL_HAPTIC_INERTIA): Effect based on axes
acceleration.
- [SDL_HAPTIC_FRICTION](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](SDL_HapticDirection) diagram for which side is
positive and which is negative.
## See Also
- [SDL_HapticDirection](SDL_HapticDirection)
- [SDL_HAPTIC_SPRING](SDL_HAPTIC_SPRING)
- [SDL_HAPTIC_DAMPER](SDL_HAPTIC_DAMPER)
- [SDL_HAPTIC_INERTIA](SDL_HAPTIC_INERTIA)
- [SDL_HAPTIC_FRICTION](SDL_HAPTIC_FRICTION)
- [SDL_HapticEffect](SDL_HapticEffect)
----
[CategoryAPI](CategoryAPI), [CategoryAPIStruct](CategoryAPIStruct), [CategoryHaptic](CategoryHaptic)