Gamepad.axes

The Gamepad.axes property of the Gamepad interface returns an array representing the controls with axes present on the device (e.g. analog thumb sticks).-

Each entry in the array is a floating point value in the range -1.0 – 1.0, representing the axis position from the lowest value (-1.0) to the highest value (1.0).

Syntax

readonly    attribute double[]            axes;

Example

function gameLoop() {
  if(navigator.webkitGetGamepads) {
    var gp = navigator.webkitGetGamepads()[0];
  } else {
    var gp = navigator.getGamepads()[0];
  }

  if(gp.axes[0] != 0) {
    b -= gp.axes[0];
  } else if(gp.axes[1] != 0) {
    a += gp.axes[1];
  } else if(gp.axes[2] != 0) {
    b += gp.axes[2];
  } else if(gp.axes[3] != 0) {
    a -= gp.axes[3];
  }

  ball.style.left = a*2 + "px";
  ball.style.top = b*2 + "px";

  var start = rAF(gameLoop);
};

Value

An array of double values.

Specifications

Specification Status Comment
Gamepad
The definition of 'Gamepad.axes' in that specification.
Working Draft Initial definition

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support

35

21 — 34 webkit

Yes

29

24 — 281

No

22

15 — 21 webkit

No
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
Basic support No Yes Yes32 No No No

1. From version 24 until version 28 (exclusive): this feature is behind the dom.gamepad.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.

See also

Using the Gamepad API

Document Tags and Contributors

 Contributors to this page: fscholz, erikadoyle, Sebastianz, teoli, chrisdavidmills
 Last updated by: fscholz,