interface Navigator {
};
interface Event {
};
interface Gamepad {
    readonly    attribute DOMString           id;
    readonly    attribute long                index;
    readonly    attribute boolean             connected;
    readonly    attribute DOMHighResTimeStamp timestamp;
    readonly    attribute GamepadMappingType  mapping;
    readonly    attribute double[]            axes;
    readonly    attribute GamepadButton[]     buttons;
};
enum GamepadMappingType {
  "",
  "standard"
};
interface GamepadButton {
    readonly    attribute boolean pressed;
    readonly    attribute double  value;
};
[Constructor(DOMString type, optional GamepadEventInit eventInitDict)]
interface GamepadEvent : Event
{
  readonly attribute Gamepad? gamepad;
};
dictionary GamepadEventInit : EventInit
{
  Gamepad? gamepad = null;
};
partial interface Navigator {
    Gamepad[] getGamepads();
};
This test requires a gamepad. Connect one and press any button to start the test.