| ヘッダ | ||
| SDL_HapticEffectType | type | SDL_HAPTIC_CUSTOM |
| SDL_HapticDirection | direction | エフェクトの向き |
| 再生 | ||
| Uint32 | length | 継続時間(ミリ秒) |
| Uint16 | delay | エフェクトが始まるまでの待ち時間 |
| トリガ | ||
| Uint16 | button | エフェクトを引き起こすボタン |
| Uint16 | interval | エフェクトを再び引き起こす時間 |
| カスタム | ||
| Uint8 | channels | 使用する軸の数. 1以上 (詳細を参照すること) |
| Uint16 | period | サンプル周期 |
| Uint16 | samples | サンプル数 |
| Uint16* | data | channels*samples |
| エンベロープ | ||
| Uint16 | attack_length | 立ち上がりの継続時間 |
| Uint16 | attack_level | 立ち上がりの強さ |
| Uint16 | fade_length | 立ち下げの継続時間 |
| Uint16 | fade_level | 立ち下げの強さ |
この構造体はSDL_HAPTIC_CUSTOM(カスタム)エフェクト専用である.
カスタムエフェクトは周期エフェクトと似ていて, アプリケーションはその実際の形を定義できる.
dataはchannels * samples個のUint16型で, 自分で確保する必要がある.
channelsが1のとき, エフェクトは定義した方向に回る.
その他のとき, 別の軸のためにdataを使う.