html5-gamepad

1.1.0 • Public • Published

html5-gamepad

Use gamepads consistently across HTML5 browsers

Test gamepads and configure mappings here

example

var gamepads = require("html5-gamepad");
 
function render() {
    var gamepad = gamepads[0];
 
    var x = gamepad.axis("left stick x");
    if (< 0) {
        // move left
    }
    if (> 0) {
        // move right
    }
 
    if (gamepad.button("a")) {
        // jump
    }
 
    window.requestAnimationFrame(render);
}
window.requestAnimationFrame(render);

supported gamepads

If a controller is not listed below, it uses the mapping for the Xbox 360 gamepad on Chrome, which may or may not work. Additional mappings can be added to mappings/index.js.

  • Logitech Gamepad F310
  • Microsoft Xbox 360
  • Microsoft Xbox One
  • Sony PlayStation 4

axis(axis)

Returns the current position of axis for gamepad. Axes have a range between -1.0 and 1.0.

Available axis names are:

  • "left stick x"
  • "left stick y"
  • "right stick x"
  • "right stick y"
  • "dpad x"
  • "dpad y"
  • "left trigger"
  • "right trigger"

button(button)

Returns true if button is pressed on controller, and false otherwise.

Available buttons names are:

  • "a"
  • "b"
  • "x"
  • "y"
  • "left shoulder"
  • "right shoulder"
  • "back"
  • "start"
  • "home"
  • "left stick"
  • "right stick"
  • "left stick x"
  • "left stick y"
  • "right stick x"
  • "right stick y"
  • "dpad x"
  • "dpad y"
  • "left trigger"
  • "right trigger"

Install

With npm do:

npm install --save html5-gamepad

License

MIT

Package Sidebar

Install

npm i html5-gamepad

Weekly Downloads

57

Version

1.1.0

License

MIT

Last publish

Collaborators

  • ericlathrop