Gamepad

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

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

Свойства

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

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

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

Gamepad.hand (en-US) Только для чтения
Перечисляемое значение, которое определяет в какой руке находится контроллер.
Gamepad.hapticActuators (en-US) Только для чтения
Массив, содержащий объекты GamepadHapticActuator (en-US), каждый из которых представляет собой аппаратные средства тактильной обратной связи (haptic feedbac) доступные для контроллера.
Gamepad.pose (en-US) Только для чтения
Объект GamepadPose (en-US) представляет информацию о положении 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);
});

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

Спецификация Статус Комментарий
Gamepad
Определение 'Gamepad' в этой спецификации.
Рабочий черновик Первоначальное определение
WebVR 1.1
Определение 'displayId' в этой спецификации.
Черновик Определено свойство Gamepad.displayId.
Gamepad Extensions
Определение 'Gamepad extensions' в этой спецификации.
Редакторский черновик Определены Экспериментальные расширения для Gamepad

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

BCD tables only load in the browser

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