SDL2::HapticEffect - A generic template for a any haptic effect
use SDL2 qw[:all]; # TODO: I need to whip up a quick example
SDL2::HapticEffect is a C union which generalizes all known haptic effects.
All values max at 32767 (0x7FFF). Signed values also can be negative. Time values unless specified otherwise are in milliseconds.
32767
0x7FFF
You can also pass SDL_HAPTIC_INFINITY to length instead of a 0-32767 value. Neither delay, interval, attack_length nor fade_length support SDL_HAPTIC_INFINITY. Fade will also not be used since effect never ends.
SDL_HAPTIC_INFINITY
0-32767
delay
interval
attack_length
fade_length
Additionally, the SDL_HAPTIC_RAMP effect does not support a duration of SDL_HAPTIC_INFINITY.
SDL_HAPTIC_RAMP
Button triggers may not be supported on all devices, it is advised to not use them if possible. Buttons start at index 1 instead of index 0 like the joystick.
1
0
If both attack_length and fade_level are 0, the envelope is not used, otherwise both values are used.
fade_level
Common parts:
length
button
attack_level
Here we have an example of a constant effect evolution in time:
Strength ^ | | effect level --> _________________ | / \ | / \ | / \ | / \ | attack_level --> | \ | | | <--- fade_level | +--------------------------------------------------> Time [--] [---] attack_length fade_length [------------------][-----------------------] delay length Note either the C<attack_level> or the C<fade_level> may be above the actual effect level.
As a union, this object main contain the following structures:
type
constant
periodic
condition
ramp
leftright
custom
Copyright (C) Sanko Robinson.
This library is free software; you can redistribute it and/or modify it under the terms found in the Artistic License 2. Other copyrights, terms, and conditions may apply to data transmitted through this module.
Sanko Robinson <sanko@cpan.org>
To install SDL2::FFI, copy and paste the appropriate command in to your terminal.
cpanm
cpanm SDL2::FFI
CPAN shell
perl -MCPAN -e shell install SDL2::FFI
For more information on module installation, please visit the detailed CPAN module installation guide.