Gamepad API

API Gamepad - это простой и последовательный способ для разработчиков получать доступ к сигналам с геймпадов и других игровых контроллеров и реагировать на них. Он содержит три интерфейса, два события и одну специализированную функцию, чтобы реагировать на подключение и отключение геймпадов, а также получать доступ к другой информации о самих геймпадах и о том, какие кнопки и другие элементы управления в настоящее время нажимаются.

Интерфейсы

Gamepad
Представляет собой геймпад/контроллер, подключенный к компьютеру.
GamepadButton
Представлят собой кнопку одного из подлюченных контроллеров
GamepadEvent
Объект события, представляющий запущенные события, связанные с геймпадами.

Экспериментальные расширения геймпада

GamepadHapticActuator
Представляет собой аппаратное обеспечение в контроллере, предназначенное для обеспечения тактильной обратной связи с пользователем (если таковая имеется), чаще всего вибрационное оборудование.
GamepadPose
Представляет собой позу контроллера (например, положение и ориентацию в трехмерном пространстве) в случае контроллера WebVR. Это не используется в более новом стандарте WebXR.

Сморите также extensions to the Gamepad interface (расширения интерфейса геймпада) для функций, которые позволяют получить доступ к вышеуказанной информации.

Расширения для других интерфейсов

Навигатор

Navigator.getGamepads()
Расширение объекта Navigator, возвращающее масссив объектов Gamepad по одному для каждого подключенного геймпада.

События окна

Window.ongamepadconnected
Представляет собой обработчик событий, который будет выполняться при подключении геймпада (когда срабатывает событие gamepadconnected).
Window.ongamepaddisconnected
Представляет собой обработчик событий, который будет выполняться при отключении геймпада (когда срабатывает событие gamepaddisconnected).

Учебные пособия и руководства

Технические характеристики

Спецификация Статус Примечание
Gamepad Extensions Редакторский черновик Определяет Experimental Gamepad extensions.
Gamepad
Определение 'The Gamepad API specification' в этой спецификации.
Рабочий черновик Первононачальное определение

Совместимость браузера

Update compatibility data on GitHub
КомпьютерыМобильные
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome для AndroidFirefox для AndroidOpera для AndroidSafari on iOSSamsung Internet
GamepadChrome Полная поддержка 35
Полная поддержка 35
Нет поддержки 21 — 34
С префиксом
С префиксом Требует вендорный префикс: webkit
Edge Полная поддержка ≤18Firefox Полная поддержка 29
Полная поддержка 29
Нет поддержки 24 — 28
Отключено
Отключено 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.
IE Нет поддержки НетOpera Полная поддержка 22
Полная поддержка 22
Нет поддержки 15 — 21
С префиксом
С префиксом Требует вендорный префикс: webkit
Safari Полная поддержка 10.1WebView Android Нет поддержки НетChrome Android Полная поддержка 35
Полная поддержка 35
Нет поддержки 25 — 34
С префиксом
С префиксом Требует вендорный префикс: webkit
Firefox Android Полная поддержка 32Opera Android Полная поддержка 22
Полная поддержка 22
Нет поддержки 14 — 21
С префиксом
С префиксом Требует вендорный префикс: webkit
Safari iOS Полная поддержка 10.3Samsung Internet Android Полная поддержка 4.0
Полная поддержка 4.0
Нет поддержки 2.0 — 3.0
С префиксом
С префиксом Требует вендорный префикс: webkit
Gamepad() constructorChrome Полная поддержка 35Edge Полная поддержка 12Firefox Полная поддержка 29
Полная поддержка 29
Нет поддержки 24 — 28
Отключено
Отключено 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.
IE Нет поддержки НетOpera Полная поддержка 22Safari Полная поддержка 10.1WebView Android Нет поддержки НетChrome Android Полная поддержка 35Firefox Android Полная поддержка 32Opera Android Полная поддержка 22Safari iOS Полная поддержка 10.3Samsung Internet Android Полная поддержка 4.0
axesChrome Полная поддержка 35
Полная поддержка 35
Нет поддержки 21 — 34
С префиксом
С префиксом Требует вендорный префикс: webkit
Edge Полная поддержка 12Firefox Полная поддержка 29
Полная поддержка 29
Нет поддержки 24 — 28
Отключено
Отключено 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.
IE Нет поддержки НетOpera Полная поддержка 22
Полная поддержка 22
Нет поддержки 15 — 21
С префиксом
С префиксом Требует вендорный префикс: webkit
Safari Полная поддержка 10.1WebView Android Нет поддержки НетChrome Android Полная поддержка 35
Полная поддержка 35
Нет поддержки 25 — 34
С префиксом
С префиксом Требует вендорный префикс: webkit
Firefox Android Полная поддержка 32Opera Android Полная поддержка 22
Полная поддержка 22
Нет поддержки 14 — 21
С префиксом
С префиксом Требует вендорный префикс: webkit
Safari iOS Полная поддержка 10.3Samsung Internet Android Полная поддержка 4.0
Полная поддержка 4.0
Нет поддержки 2.0 — 3.0
С префиксом
С префиксом Требует вендорный префикс: webkit
buttonsChrome Полная поддержка 35
Полная поддержка 35
Нет поддержки 21 — 34
С префиксом
С префиксом Требует вендорный префикс: webkit
Edge Полная поддержка 12Firefox Полная поддержка 29
Полная поддержка 29
Нет поддержки 24 — 28
Отключено
Отключено 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.
IE Нет поддержки НетOpera Полная поддержка 22
Полная поддержка 22
Нет поддержки 15 — 21
С префиксом
С префиксом Требует вендорный префикс: webkit
Safari Полная поддержка 10.1WebView Android Нет поддержки НетChrome Android Полная поддержка 35
Полная поддержка 35
Нет поддержки 25 — 34
С префиксом
С префиксом Требует вендорный префикс: webkit
Firefox Android Полная поддержка 32Opera Android Полная поддержка 22
Полная поддержка 22
Нет поддержки 14 — 21
С префиксом
С префиксом Требует вендорный префикс: webkit
Safari iOS Полная поддержка 10.3Samsung Internet Android Полная поддержка 4.0
Полная поддержка 4.0
Нет поддержки 2.0 — 3.0
С префиксом
С префиксом Требует вендорный префикс: webkit
connectedChrome Полная поддержка 35
Полная поддержка 35
Нет поддержки 25 — 34
С префиксом
С префиксом Требует вендорный префикс: webkit
Edge Полная поддержка 12Firefox Полная поддержка 29
Полная поддержка 29
Нет поддержки 24 — 28
Отключено
Отключено 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.
IE Нет поддержки НетOpera Полная поддержка 22
Полная поддержка 22
Нет поддержки 15 — 21
С префиксом
С префиксом Требует вендорный префикс: webkit
Safari Полная поддержка 10.1WebView Android Нет поддержки НетChrome Android Полная поддержка 35
Полная поддержка 35
Нет поддержки 25 — 34
С префиксом
С префиксом Требует вендорный префикс: webkit
Firefox Android Полная поддержка 32Opera Android Полная поддержка 22
Полная поддержка 22
Нет поддержки 14 — 21
С префиксом
С префиксом Требует вендорный префикс: webkit
Safari iOS Полная поддержка 10.3Samsung Internet Android Полная поддержка 4.0
Полная поддержка 4.0
Нет поддержки 2.0 — 3.0
С префиксом
С префиксом Требует вендорный префикс: webkit
displayId
ЭкспериментальнаяУстаревшая
Chrome Нет поддержки ? — 80
Замечания Отключено
Нет поддержки ? — 80
Замечания Отключено
Замечания Only works on desktop in an experimental version of Chrome (other builds won't return any devices when Navigator.getVRDisplays() is invoked).
Отключено Until version 80 (exclusive): this feature is behind the WebVR preference. To change preferences in Chrome, visit chrome://flags.
Edge Полная поддержка 15Firefox Полная поддержка 55
Замечания
Полная поддержка 55
Замечания
Замечания Windows support was enabled in Firefox 55.
Полная поддержка 64
Замечания
Замечания macOS support was enabled in Firefox 64.
IE Нет поддержки НетOpera ? Safari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Нет поддержки ? — 80
Замечания
Нет поддержки ? — 80
Замечания
Замечания Currently supported only by Google Daydream.
Firefox Android Полная поддержка 55Opera Android ? Safari iOS Нет поддержки НетSamsung Internet Android Полная поддержка Да
Замечания
Полная поддержка Да
Замечания
Замечания Currently supported only by Google Daydream.
hand
Экспериментальная
Chrome Нет поддержки НетEdge Нет поддержки 15 — 79Firefox Полная поддержка Да
Замечания Отключено
Полная поддержка Да
Замечания Отключено
Замечания The flag is enabled by default in Firefox Nightly and Beta, versions 55 and above.
Отключено This feature is behind the dom.gamepad-extensions.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE Нет поддержки НетOpera Нет поддержки НетSafari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Нет поддержки НетFirefox Android Нет поддержки НетOpera Android Нет поддержки НетSafari iOS Нет поддержки НетSamsung Internet Android Нет поддержки Нет
hapticActuators
Экспериментальная
Chrome Нет поддержки НетEdge Нет поддержки 15 — 79Firefox Полная поддержка Да
Замечания Отключено
Полная поддержка Да
Замечания Отключено
Замечания The flag is enabled by default in Firefox Nightly and Beta, versions 55 and above.
Отключено This feature is behind the dom.gamepad-extensions.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE Нет поддержки НетOpera Нет поддержки НетSafari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Нет поддержки НетFirefox Android Нет поддержки НетOpera Android Нет поддержки НетSafari iOS Нет поддержки НетSamsung Internet Android Нет поддержки Нет
id
Экспериментальная
Chrome Полная поддержка 35
Полная поддержка 35
Нет поддержки 21 — 34
С префиксом
С префиксом Требует вендорный префикс: webkit
Edge Полная поддержка 12Firefox Полная поддержка 29
Полная поддержка 29
Нет поддержки 24 — 28
Отключено
Отключено 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.
IE Нет поддержки НетOpera Полная поддержка 22
Полная поддержка 22
Нет поддержки 15 — 21
С префиксом
С префиксом Требует вендорный префикс: webkit
Safari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Полная поддержка 35
Полная поддержка 35
Нет поддержки 25 — 34
С префиксом
С префиксом Требует вендорный префикс: webkit
Firefox Android Полная поддержка 32Opera Android Полная поддержка 22
Полная поддержка 22
Нет поддержки 14 — 21
С префиксом
С префиксом Требует вендорный префикс: webkit
Safari iOS Нет поддержки НетSamsung Internet Android Полная поддержка 4.0
Полная поддержка 4.0
Нет поддержки 2.0 — 3.0
С префиксом
С префиксом Требует вендорный префикс: webkit
index
Экспериментальная
Chrome Полная поддержка 35
Полная поддержка 35
Нет поддержки 21 — 34
С префиксом
С префиксом Требует вендорный префикс: webkit
Edge Полная поддержка 12Firefox Полная поддержка 29
Полная поддержка 29
Нет поддержки 24 — 28
Отключено
Отключено 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.
IE Нет поддержки НетOpera Полная поддержка 22
Полная поддержка 22
Нет поддержки 15 — 21
С префиксом
С префиксом Требует вендорный префикс: webkit
Safari Полная поддержка 10.1WebView Android Нет поддержки НетChrome Android Полная поддержка 35
Полная поддержка 35
Нет поддержки 25 — 34
С префиксом
С префиксом Требует вендорный префикс: webkit
Firefox Android Полная поддержка 32Opera Android Полная поддержка 22
Полная поддержка 22
Нет поддержки 14 — 21
С префиксом
С префиксом Требует вендорный префикс: webkit
Safari iOS Полная поддержка 10.3Samsung Internet Android Полная поддержка 4.0
Полная поддержка 4.0
Нет поддержки 2.0 — 3.0
С префиксом
С префиксом Требует вендорный префикс: webkit
mappingChrome Полная поддержка 35
Полная поддержка 35
Нет поддержки 21 — 34
С префиксом
С префиксом Требует вендорный префикс: webkit
Edge Полная поддержка 12Firefox Полная поддержка 29
Полная поддержка 29
Нет поддержки 24 — 28
Отключено
Отключено 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.
IE Нет поддержки НетOpera Полная поддержка 22
Полная поддержка 22
Нет поддержки 15 — 21
С префиксом
С префиксом Требует вендорный префикс: webkit
Safari Полная поддержка 10.1WebView Android Нет поддержки НетChrome Android Полная поддержка 35
Полная поддержка 35
Нет поддержки 25 — 34
С префиксом
С префиксом Требует вендорный префикс: webkit
Firefox Android Полная поддержка 32Opera Android Полная поддержка 22
Полная поддержка 22
Нет поддержки 14 — 21
С префиксом
С префиксом Требует вендорный префикс: webkit
Safari iOS Полная поддержка 10.3Samsung Internet Android Полная поддержка 4.0
Полная поддержка 4.0
Нет поддержки 2.0 — 3.0
С префиксом
С префиксом Требует вендорный префикс: webkit
pose
Экспериментальная
Chrome Нет поддержки НетEdge Нет поддержки 15 — 79Firefox Полная поддержка Да
Замечания Отключено
Полная поддержка Да
Замечания Отключено
Замечания The flag is enabled by default in Firefox Nightly and Beta, versions 55 and above.
Отключено This feature is behind the dom.gamepad-extensions.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE Нет поддержки НетOpera Нет поддержки НетSafari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Нет поддержки НетFirefox Android Нет поддержки НетOpera Android Нет поддержки НетSafari iOS Нет поддержки НетSamsung Internet Android Нет поддержки Нет
timestampChrome Полная поддержка 35
Полная поддержка 35
Нет поддержки 21 — 34
С префиксом
С префиксом Требует вендорный префикс: webkit
Edge Полная поддержка 12Firefox Полная поддержка 29
Полная поддержка 29
Нет поддержки 24 — 28
Отключено
Отключено 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.
IE Нет поддержки НетOpera Полная поддержка 22
Полная поддержка 22
Нет поддержки 15 — 21
С префиксом
С префиксом Требует вендорный префикс: webkit
Safari Полная поддержка 10.1WebView Android Нет поддержки НетChrome Android Полная поддержка 35
Полная поддержка 35
Нет поддержки 25 — 34
С префиксом
С префиксом Требует вендорный префикс: webkit
Firefox Android Полная поддержка 32Opera Android Полная поддержка 22
Полная поддержка 22
Нет поддержки 14 — 21
С префиксом
С префиксом Требует вендорный префикс: webkit
Safari iOS Полная поддержка 10.3Samsung Internet Android Полная поддержка 4.0
Полная поддержка 4.0
Нет поддержки 2.0 — 3.0
С префиксом
С префиксом Требует вендорный префикс: webkit

Легенда

Полная поддержка  
Полная поддержка
Нет поддержки  
Нет поддержки
Совместимость неизвестна  
Совместимость неизвестна
Экспериментальная. Ожидаемое поведение может измениться в будущем.
Экспериментальная. Ожидаемое поведение может измениться в будущем.
Устаревшая. Не следует использовать в новых веб-сайтах
Устаревшая. Не следует использовать в новых веб-сайтах
Смотрите замечания реализации.
Смотрите замечания реализации.
Пользователь должен сам включить эту возможность.
Пользователь должен сам включить эту возможность.
Требует вендорный префикс или другое имя для использования.
Требует вендорный префикс или другое имя для использования.

Прочтите также