Tactile
Tactile is a flexible and straightforward input library for LÖVE to help you manage multiple input sources. Get the code on GitHub.
Control = { Horizontal = tactile.newControl() :addAxis(tactile.gamepadAxis(1, 'leftx')) :addButtonPair(tactile.keys 'left', tactile.keys 'right'), Fire = tactile.newControl() :addButton(tactile.gamepadButtons(1, 'a')) :addButton(tactile.keys 'x') } function love.update(dt) Control.Horizontal:update() Control.Fire:update() player.x = player.x + player.speed * Control.Horizontal() * dt if Control.Fire:isDown() then player:shoot() end end