# Joystick:setVibration

Available since LÖVE 0.9.0
This function is not supported in earlier versions.

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

    success = Joystick:setVibration( left, right )

### Arguments

`number left`
  Strength of the left vibration motor on the Joystick. Must be in the range of [0, 1].
`number right`
  Strength of the right vibration motor on the Joystick. Must be in the range of [0, 1].

### Returns

`boolean success`
  True if the vibration was successfully applied, false if not.

## Function

Disables vibration.

### Synopsis

    success = Joystick:setVibration( )

### Arguments

None.

### Returns

`boolean success`
  True if the vibration was successfully disabled, false if not.

## Function

Available since LÖVE 0.9.2
This variant is not supported in earlier versions.

### Synopsis

    success = Joystick:setVibration( left, right, duration )

### Arguments

`number left`
  Strength of the left vibration motor on the Joystick. Must be in the range of [0, 1].
`number right`
  Strength of the right vibration motor on the Joystick. Must be in the range of [0, 1].
`number duration (-1)`
  The duration of the vibration in seconds. A negative value means infinite duration.

### Returns

`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 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

- Joystick
- Joystick:getVibration
- Joystick:isVibrationSupported

##

Category:

- Functions