--- title: Gamepad slug: Web/API/Gamepad translation_of: Web/API/Gamepad ---
{{APIRef("Gamepad API")}}

Интерфейс Gamepad Gamepad API определяет отдельный геймпад или контроллер, предоставляющий доступ к такой информации, как: нажатие кнопок, позиции осей, и id.

Объект Gamepad может быть возвращен в одном из двух случаев: как свойство gamepad событий {{event("gamepadconnected")}} и {{event("gamepaddisconnected")}}, или считыванием любой позиции в массиве, возвращенном методом {{domxref("Navigator.getGamepads()")}}.

Свойства

{{domxref("Gamepad.displayId")}} {{readonlyInline}}
Возвращает {{domxref("VRDisplay.displayId")}} связанный с {{domxref("VRDisplay")}} (при необходимости) — VRDisplay отображаемая область которого управляется геймпадом.
{{domxref("Gamepad.id")}} {{readonlyInline}}
{{domxref("DOMString")}} содержит идентификационную информацию о контроллере.
{{domxref("Gamepad.index")}} {{readonlyInline}}
Целое автоинкрементируемое значение, уникальное для каждого устройства, подключенного в данный момент к системе.
{{domxref("Gamepad.mapping")}} {{readonlyInline}}
Строка, указывающая, переназначил ли браузер элементы управления устройства на уже известный шаблон.
{{domxref("Gamepad.connected")}} {{readonlyInline}}
Логическое свойство показывающее, подключен ли геймпад к системе в данный момент.
{{domxref("Gamepad.buttons")}} {{readonlyInline}}
Массив объектов {{domxref("gamepadButton")}} представляющих кнопки устройства.
{{domxref("Gamepad.axes")}} {{readonlyInline}}
Массив, представляющий элементы управления осями устройства (например, аналоговые стики).
{{domxref("Gamepad.timestamp")}} {{readonlyInline}}
{{domxref("DOMHighResTimeStamp")}} представляет время последнего обновления данных геймпада.

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

Следующие интерфейсы определены в спецификации {{SpecName("GamepadExtensions")}}, и предоставляют доступ к экспериментальным возможностям, таким как тактильная обратная связь (haptic feedback) и информация о положении WebVR контроллера.

{{domxref("Gamepad.hand")}} {{readonlyInline}}
Перечисляемое значение, которое определяет в какой руке находится контроллер.
{{domxref("Gamepad.hapticActuators")}} {{readonlyInline}}
Массив, содержащий объекты {{domxref("GamepadHapticActuator")}}, каждый из которых представляет собой аппаратные средства тактильной обратной связи (haptic feedbac) доступные для контроллера.
{{domxref("Gamepad.pose")}} {{readonlyInline}}
Объект {{domxref("GamepadPose")}} представляет информацию о положении WebVR контроллера (например, позиция и ориентация в 3D пространстве).

Пример

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);
});

Спецификации

Спецификация Статус Комментарий
{{SpecName("Gamepad", "#gamepad-interface", "Gamepad")}} {{Spec2("Gamepad")}} Первоначальное определение
{{SpecName('WebVR 1.1', '#gamepad-getvrdisplays-attribute', 'displayId')}} {{Spec2("WebVR 1.1")}} Определено свойство {{domxref("Gamepad.displayId")}}.
{{SpecName("GamepadExtensions", "#partial-gamepad-interface", "Gamepad extensions")}} {{Spec2("GamepadExtensions")}} Определены {{anch("Экспериментальные расширения для Gamepad")}}

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

{{Compat("api.Gamepad")}}

Смотрите также