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