{{newin|[[0.9.0]]|090|type=function}}
Sets the vibration motor speeds on a Joystick with rumble support. Most common gamepads have this functionality, although not all drivers give proper support. Use [[Joystick:isVibrationSupported]] to check.
== Function ==
=== Synopsis ===
<source lang="lua">
success = Joystick:setVibration( left, right )
</source>
=== Arguments ===
{{param|number|left|Strength of the left vibration motor on the Joystick. Must be in the range of [0, 1].}}
{{param|number|right|Strength of the right vibration motor on the Joystick. Must be in the range of [0, 1].}}
=== Returns ===
{{param|boolean|success|True if the vibration was successfully applied, false if not.}}

== Function ==
Disables vibration.
=== Synopsis ===
<source lang="lua">
success = Joystick:setVibration( )
</source>
=== Arguments ===
None.
=== Returns ===
{{param|boolean|success|True if the vibration was successfully disabled, false if not.}}

== Function ==
{{newin|[[0.9.2]]|092|type=variant}}
=== Synopsis ===
<source lang="lua">
success = Joystick:setVibration( left, right, duration )
</source>
=== Arguments ===
{{param|number|left|Strength of the left vibration motor on the Joystick. Must be in the range of [0, 1].}}
{{param|number|right|Strength of the right vibration motor on the Joystick. Must be in the range of [0, 1].}}
{{param|number|duration (-1)|The duration of the vibration in seconds. A negative value means infinite duration.}}
=== Returns ===
{{param|boolean|success|True if the vibration was successfully applied, false if not.}}

== Notes ==
If the Joystick only has a single vibration motor, it will still work but it will use the largest value of the left and right parameters.

The Xbox 360 controller on Mac OS X only has support for vibration if a [https://github.com/d235j/360Controller/releases modified version] of the Tattiebogle driver is used.

The very first call to this function may take more time than expected because SDL's Haptic / Force Feedback subsystem needs to be initialized.

== See Also ==
* [[parent::Joystick]]
* [[Joystick:getVibration]]
* [[Joystick:isVibrationSupported]]

[[Category:Functions]]
{{#set:Description=Sets the vibration motor speeds on a Joystick with rumble support.}}
== Other Languages ==
{{i18n|Joystick:setVibration}}