Перевод не завершен. Пожалуйста, помогите перевести эту статью с английского.

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

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

Свойства

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

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

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

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

ВозможностьChromeEdgeFirefoxInternet ExplorerOperaSafari
Базовая поддержка

35

21 — 34 webkit

Да

29

24 — 281

Нет

22

15 — 21 webkit

Нет
Gamepad() constructor3512

29

24 — 281

Нет22 Нет
axes

35

21 — 34 webkit

12

29

24 — 281

Нет

22

15 — 21 webkit

Нет
buttons

35

21 — 34 webkit

12

29

24 — 281

Нет

22

15 — 21 webkit

Нет
connected

35

21 — 34 webkit

12

29

24 — 281

Нет

22

15 — 21 webkit

Нет
displayId Да2 315565 Нет ? ?
hand Нет15 Да6 7 Нет Нет Нет
hapticActuators Нет15 Да6 7 Нет Нет Нет
id

35

21 — 34 webkit

12

29

24 — 281

Нет

22

15 — 21 webkit

Нет
index

35

21 — 34 webkit

12

29

24 — 281

Нет

22

15 — 21 webkit

Нет
mapping

35

21 — 34 webkit

12

29

24 — 281

Нет

22

15 — 21 webkit

Нет
pose Нет15 Да6 7 Нет Нет Нет
timestamp

35

21 — 34 webkit

12

29

24 — 281

Нет

22

15 — 21 webkit

Нет
ВозможностьAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Базовая поддержка Нет

35

21 — 34 webkit

Да32

22

15 — 21 webkit

Нет Да
Gamepad() constructor Нет35 Да3222 Нет Да
axes Нет

35

21 — 34 webkit

Да32

22

15 — 21 webkit

Нет Да
buttons Нет

35

21 — 34 webkit

Да32

22

15 — 21 webkit

Нет Да
connected Нет

35

21 — 34 webkit

Да32

22

15 — 21 webkit

Нет Да
displayId Нет Да4 ? ? ? ? Да
hand Нет Нет Нет Нет Нет Нет Нет
hapticActuators Нет Нет Нет Нет Нет Нет Нет
id Нет

35

21 — 34 webkit

Да32 Нет Нет Да
index Нет

35

21 — 34 webkit

Да32 Нет Нет Да
mapping Нет

35

21 — 34 webkit

Да32

22

15 — 21 webkit

Нет Да
pose Нет Нет Нет Нет Нет Нет Нет
timestamp Нет

35

21 — 34 webkit

Да32

22

15 — 21 webkit

Нет Да

1. 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.

2. Only works on desktop in an experimental version of Chrome (other builds won't return any devices when Navigator.getVRDisplays() is invoked).

3. This feature is behind the WebVR preference. To change preferences in Chrome, visit chrome://flags.

4. Currently supported only by Google Daydream.

5. Currently only Windows support is enabled by default. Mac support is available in Firefox Nightly.

6. The flag is enabled by default in Firefox Nightly and Beta, versions 55 and above.

7. This feature is behind the dom.gamepad-extensions.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.

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

Метки документа и участники

Внесли вклад в эту страницу: eof273
Обновлялась последний раз: eof273,