A structure containing a template for the SDL_HAPTIC_CUSTOM effect.
Defined in SDL_haptic.h
typedef struct SDL_HapticCustom
{/* Header */
/**< SDL_HAPTIC_CUSTOM */
Uint16 type; /**< Direction of the effect. */
SDL_HapticDirection direction;
/* Replay */
/**< Duration of the effect. */
Uint32 length; /**< Delay before starting the effect. */
Uint16 delay;
/* Trigger */
/**< Button that triggers the effect. */
Uint16 button; /**< How soon it can be triggered again after button. */
Uint16 interval;
/* Custom */
/**< Axes to use, minimum of one. */
Uint8 channels; /**< Sample periods. */
Uint16 period; /**< Amount of samples. */
Uint16 samples; /**< Should contain channels*samples items. */
Uint16 *data;
/* Envelope */
/**< Duration of the attack. */
Uint16 attack_length; /**< Level at the start of the attack. */
Uint16 attack_level; /**< Duration of the fade. */
Uint16 fade_length; /**< Level at the end of the fade. */
Uint16 fade_level; } SDL_HapticCustom;
This struct is exclusively for the SDL_HAPTIC_CUSTOM effect.
A custom force feedback effect is much like a periodic effect, where the application can define its exact shape. You will have to allocate the data yourself. Data should consist of channels * samples Uint16 samples.
If channels is one, the effect is rotated using the defined direction. Otherwise it uses the samples in data for the different axes.