THIS PAGE IS A WORK IN PROGRESS ... Please make edits to this page to improve it!
A structure containing a template for the ::SDL_HAPTIC_CUSTOM effect.
Defined in [SDL_haptic.h](https://github.com/libsdl-org/SDL/blob/SDL2/include/SDL_haptic.h), but apps should _only_ `#include "SDL.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.
<bgcolor="#EDEDED">Header |
||
Uint16 |
type |
SDL_HAPTIC_CUSTOM |
direction |
direction of the effect (relative to the user) |
|
<bgcolor="#EDEDED">Replay |
||
Uint32 |
length |
duration of the effect |
Uint16 |
delay |
delay before starting the effect |
<bgcolor="#EDEDED">Trigger |
||
Uint16 |
button |
button that triggers the effect |
Uint16 |
interval |
how soon it can be triggered again after button |
<bgcolor="#EDEDED">Custom |
||
Uint8 |
channels |
axes to use, minimum of 1; see Remarks for details |
Uint16 |
period |
sample periods |
Uint16 |
samples |
amount (number) of samples |
Uint16* |
data |
should contain channels*samples items; see Remarks for details |
<bgcolor="#EDEDED">Envelope |
||
Uint16 |
attack_length |
duration of the attack |
Uint16 |
attack_level |
level at the start of the attack |
Uint16 |
fade_length |
duration of the fade |
Uint16 |
fade_level |
level at the end of the fade |
CategoryAPI, CategoryAPIStruct, CategoryStruct, CategoryForceFeedback, CategoryDraft