| ヘッダ | ||
| Uint16 | type | 波形 (詳細を参照すること) |
| SDL_HapticDirection | direction | (ユーザに相対的な)効果の向き |
| 再生 | ||
| Uint32 | length | 継続時間(ミリ秒) |
| Uint16 | delay | 効果が始まるまでの待ち時間 |
| トリガ | ||
| Uint16 | button | 効果を引き起こすボタン |
| Uint16 | interval | 効果を再び引き起こす時間 |
| 周期 | ||
| Uint16 | period | 波の周期 |
| Sint16 | magnitude | ピーク値 |
| Sint16 | offset | 波の平均値 |
| Uint16 | phase | 円の100分の1単位の水平方向のずれ (詳細を参照すること) |
| エンベロープ | ||
| Uint16 | attack_length | 立ち上がりの継続時間 |
| Uint16 | attack_level | 立ち上がりの強さ |
| Uint16 | fade_length | 立ち下げの継続時間 |
| Uint16 | fade_level | 立ち下げの強さ |
周期効果は, 効果を波のように何度も繰り返す. typeは波形を決め, 他のパラメータは次元を決める.
ボタン period
押下 | |
|| __ __ __ __ __ _
|| | | | | | | | | | | magnitude
\/ | |__| |__| |__| |__| | _
-----
| offset?
delay phase?
-------------------------------------
length
===================================================
interval
typeは次のうちの1つである.
| SDL_HAPTIC_SINE |
__ __ __ __ / \ / \ / \ / / \__/ \__/ \__/ |
| SDL_HAPTIC_TRIANGLE |
/\ /\ /\ /\ /\ / \ / \ / \ / \ / / \/ \/ \/ \/ |
| SDL_HAPTIC_SAWTOOTHUP |
/| /| /| /| /| /| /| / | / | / | / | / | / | / | / |/ |/ |/ |/ |/ |/ | |
| SDL_HAPTIC_SAWTOOTHDOWN |
\ |\ |\ |\ |\ |\ |\ | \ | \ | \ | \ | \ | \ | \ | \| \| \| \| \| \| \| |
phaseは1度の100分の1単位で指定する. もし9000ならば, 位相が25%ずれる. 以下は値の例である.
| 0 | 位相のずれなし |
| 9000 | 位相が25%ずれる |
| 18000 | 位相が50%ずれる |
| 27000 | 位相が75%ずれる |
| 36000 | 位相が100%ずれる. 0と同じだが, 0が推奨される |