Joystick

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

Represents a physical joystick.

Constructors

love.joystick.getJoysticks Gets a list of connected Joysticks. 0.9.0

Functions

Joystick:getAxes Gets the direction of each axis. 0.9.0
Joystick:getAxis Gets the direction of an axis. 0.9.0
Joystick:getAxisCount Gets the number of axes on the joystick. 0.9.0
Joystick:getButtonCount Gets the number of buttons on the joystick. 0.9.0
Joystick:getGUID Gets a stable GUID unique to the type of the physical joystick. 0.9.0
Joystick:getGamepadAxis Gets the direction of a virtual gamepad axis. 0.9.0
Joystick:getGamepadMapping Gets the button, axis or hat that a virtual gamepad input is bound to. 0.9.0
Joystick:getHat Gets the direction of a hat. 0.9.0
Joystick:getHatCount Gets the number of hats on the joystick. 0.9.0
Joystick:getID Gets the joystick's unique identifier. 0.9.0
Joystick:getName Gets the name of the joystick. 0.9.0
Joystick:getVibration Gets the current vibration motor strengths on a Joystick with rumble support. 0.9.0
Joystick:isConnected Gets whether the Joystick is connected. 0.9.0
Joystick:isDown Checks if a button on the Joystick is pressed. 0.9.0
Joystick:isGamepad Gets whether the Joystick is recognized as a gamepad. 0.9.0
Joystick:isGamepadDown Checks if a virtual gamepad button on the Joystick is pressed. 0.9.0
Joystick:isVibrationSupported Gets whether the Joystick supports vibration. 0.9.0
Joystick:setVibration Sets the vibration motor speeds on a Joystick with rumble support. 0.9.0
Object:type Gets the type of the object as a string.
Object:typeOf Checks whether an object is of a certain type.

Enums

GamepadAxis Virtual gamepad axes. 0.9.0
GamepadButton Virtual gamepad buttons. 0.9.0
JoystickHat Joystick hat positions.
JoystickInputType Types of Joystick inputs. 0.9.0

Supertypes

Examples

Display the last button pressed of a controller on-screen

local lastbutton = "none"
 
function love.gamepadpressed(joystick, button)
    lastbutton = button
end
 
function love.draw()
    love.graphics.print("Last gamepad button pressed: "..lastbutton, 10, 10)
end

Move a circle with the d-pad of a controller

function love.load()
    local joysticks = love.joystick.getJoysticks()
    joystick = joysticks[1]
 
    position = {x = 400, y = 300}
    speed = 300
end
 
function love.update(dt)
    if not joystick then return end
 
    if joystick:isGamepadDown("dpleft") then
        position.x = position.x - speed * dt
    elseif joystick:isGamepadDown("dpright") then
        position.x = position.x + speed * dt
    end
 
    if joystick:isGamepadDown("dpup") then
        position.y = position.y - speed * dt
    elseif joystick:isGamepadDown("dpdown") then
        position.y = position.y + speed * dt
    end
end
 
function love.draw()
    love.graphics.circle("fill", position.x, position.y, 50)
end

See Also

Joystick:getHat

Joystick:getHat Available since LÖVE 0.9.0 It has been moved from

2017-03-21 15:45:16
Joystick:getAxes

Joystick:getAxes Available since LÖVE 0.9.0 It has been moved from

2017-03-21 15:45:10
Joystick:isDown

Joystick:isDown Available since LÖVE 0.9.0 It has been moved from

2017-03-21 15:45:21
Joystick:getGamepadMapping

Joystick:getGamepadMapping Available since LÖVE 0.9.0 This function is not supported in earlier versions. Gets the button, axis or hat that

2017-03-21 15:45:14
Joystick:getHatCount

Joystick:getHatCount Available since LÖVE 0.9.0 It has been moved from

2017-03-21 15:45:17
Joystick:getID

Joystick:getID Available since LÖVE 0.9.0 This function is not supported in earlier versions. Gets the joystick's unique identifier. The identifier

2017-03-21 15:45:18
Joystick:isGamepad

Joystick:isGamepad Available since LÖVE 0.9.0 This function is not supported in earlier versions. Gets whether the Joystick is recognized as

2017-03-21 15:45:22
Joystick:getButtonCount

Joystick:getButtonCount Available since LÖVE 0.9.0 It has been moved from

2017-03-21 15:45:12
Joystick:getGUID

Joystick:getGUID Available since LÖVE 0.9.0 This function is not supported in earlier versions. Gets a stable GUID unique to the type of the

2017-03-21 15:45:15
Joystick:getName

Joystick:getName Available since LÖVE 0.9.0 It has been moved from

2017-03-21 15:45:19