The Gamepad interface of the Gamepad API defines an individual gamepad or other controller, allowing access to information such as button presses, axis positions, and id.
A Gamepad object can be returned in one of two ways: via the gamepad property of the gamepadconnected and gamepaddisconnected events, or by grabbing any position in the array returned by the Navigator.getGamepads() method.
Properties
Gamepad.idRead only- A
DOMStringcontaining identifying information about the controller. Gamepad.indexRead only- An integer that is auto-incremented to be unique for each device currently connected to the system.
Gamepad.mappingRead only- A string indicating whether the browser has remapped the controls on the device to a known layout.
Gamepad.connectedRead only- A boolean indicating whether the gamepad is still connected to the system.
Gamepad.buttonsRead only- An array of
gamepadButtonobjects representing the buttons present on the device. Gamepad.axesRead only- An array representing the controls with axes present on the device (e.g. analog thumb sticks).
Gamepad.timestampRead only- A
DOMHighResTimeStamprepresenting the last time the data for this gamepad was updated. Note that this property is not currently supported anywhere.
Example
window.addEventListener("gamepadconnected", function(e) {
console.log("Gamepad connected at index %d: %s. %d buttons, %d axes.",
e.gamepad.index, e.gamepad.id,
e.gamepad.buttons.length, e.gamepad.axes.length);
});
Specifications
| Specification | Status | Comment |
|---|---|---|
| Gamepad The definition of 'Gamepad' in that specification. |
Working Draft | Initial defintion |
Browser compatibility
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
|---|---|---|---|---|---|
| General support | 21.0 webkit 35.0 |
29.0 (29.0) | Not supported | 15.0 webkit 22.0 |
Not supported |
| Feature | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|
| General support | Not supported | 32.0 (32.0) | Not supported | Not supported | Not supported |