# Love Joystick

> When to use this skill

- Skill: `redkenrok/love-joystick-2` (Agent Skill)
- Install (CLI): `npx skillmds@latest add redkenrok/love-joystick-2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/redkenrok/love-joystick-2/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: RedKenrok (https://skillmd.com/u/redkenrok)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/redkenrok/love-joystick-2

---


## When to use this skill
{{SKILL_DESCRIPTION}} Use this skill when working with game controllers, joystick input, gamepad operations, or any input device-related operations in LÖVE games.

## Common use cases
- Handling joystick and gamepad input
- Managing multiple input devices
- Implementing controller-based game mechanics
- Handling joystick events and callbacks
- Supporting various game controller types

{{MODULES_LIST}}
{{FUNCTIONS_LIST}}
{{CALLBACKS_LIST}}
{{TYPES_LIST}}
{{ENUMS_LIST}}

## Examples

### Handling joystick input
```lua
function love.joystickpressed(joystick, button)
  if button == 1 then
    -- Handle primary action button
    player.jump()
  elseif button == 2 then
    -- Handle secondary action button
    player.attack()
  end
end
```

### Getting joystick axis values
```lua
function love.update(dt)
  local joysticks = love.joystick.getJoysticks()
  for i, joystick in ipairs(joysticks) do
    local leftX = joystick:getAxis(1)  -- Left stick X axis
    local leftY = joystick:getAxis(2)  -- Left stick Y axis

    -- Apply movement based on joystick input
    player.move(leftX, leftY)
  end
end
```

## Best practices
- Support both keyboard and joystick input for accessibility
- Handle joystick connection/disconnection gracefully
- Test with various controller types
- Consider controller dead zones and sensitivity
- Provide controller configuration options

## Platform compatibility
- **Desktop (Windows, macOS, Linux)**: Full joystick support
- **Mobile (iOS, Android)**: Limited to touch-based virtual controllers
- **Web**: Browser-based gamepad API support

