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.id
Read only- A
DOMString
containing identifying information about the controller. Gamepad.index
Read only- An integer that is auto-incremented to be unique for each device currently connected to the system.
Gamepad.mapping
Read only- A string indicating whether the browser has remapped the controls on the device to a known layout.
Gamepad.connected
Read only- A boolean indicating whether the gamepad is still connected to the system.
Gamepad.buttons
Read only- An array of
gamepadButton
objects representing the buttons present on the device. Gamepad.axes
Read only- An array representing the controls with axes present on the device (e.g. analog thumb sticks).
Gamepad.timestamp
Read only- A
DOMHighResTimeStamp
representing 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 |