MDN wants to talk to developers like you:

This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the specification changes.

The Gamepad API is a way for developers to access and respond to signals from gamepads and other game controllers in a simple, consistent way. It contains three interfaces, two events and one specialist function, to respond to gamepads being connected and disconnected, and to access other information about the gamepads themselves, and what buttons and other controls are currently being pressed.


The following interfaces are defined in the Gamepad API

The Gamepad API also defines some events and a specialist function:

Gamepad Window events
Specialist events on the Window object that allows us to react when a gamepad is connected or disconnected: gamepadconnected and gamepaddisconnected. Event handlers can be easily set using Window.ongamepadconnected and Window.ongamepaddisconnected.
An extension to the Navigator object that returns an array of Gamepad objects, one for each connected gamepad.

Tutorials and guides


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

Browser compatibility

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
General support 21.0 webkit
(Yes) 29.0 (29.0) No support 15.0 webkit
Feature Android Edge Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile Samsung Internet
General support No support (Yes) 32.0 (32.0) No support No support No support Yes

See also

Document Tags and Contributors

 Last updated by: erikadoyle,