Spec-Zone.ru › Web APIs

Джойстик

Базовая Широко поддерживается *

Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с марта 2017 года.

* Некоторые части этой функции могут иметь различный уровень поддержки.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS), в некоторых или во всех поддерживающих браузерах.

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

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

Примечание: Поддержка функций джойстика варьируется в зависимости от комбинаций платформ и контроллеров. Даже если контроллер поддерживает определённую функцию (например, тактильную обратную связь), платформа может не поддерживать её для этого контроллера.

Свойства экземпляра

Gamepad.axes Только для чтения

Массив, представляющий элементы управления с осями, присутствующими на устройстве (например, аналоговые джойстики).

Gamepad.buttons Только для чтения

Массив объектов gamepadButton, представляющих кнопки, присутствующие на устройстве.

Gamepad.connected Только для чтения

Булево значение, указывающее, подключен ли джойстик к системе.

Gamepad.displayId Только для чтения Устарело Нестандартно

Возвращает VRDisplay.displayId связанного VRDisplay (если применимо) — VRDisplay, которым джойстик управляет отображаемой сценой.

Gamepad.hand Только для чтения Экспериментально

Перечисление, определяющее, в какой руке удерживается контроллер или, скорее всего, удерживается.

Gamepad.hapticActuators Только для чтения Экспериментально

Массив, содержащий объекты GamepadHapticActuator, каждый из которых представляет аппаратное обеспечение тактильной обратной связи, доступное на контроллере.

Gamepad.vibrationActuator Только для чтения

Объект GamepadHapticActuator, который представляет аппаратное обеспечение тактильной обратной связи, доступное на контроллере.

Gamepad.id Только для чтения

Строка, содержащая идентификационную информацию о контроллере.

Gamepad.index Только для чтения

Целое число, которое автоматически увеличивается, чтобы быть уникальным для каждого устройства, подключенного к системе.

Gamepad.mapping Только для чтения

Строка, указывающая, переназначил ли браузер элементы управления на устройстве на известную компоновку.

Gamepad.pose Только для чтения Экспериментально

Объект GamepadPose, представляющий информацию о позе, связанную с контроллером WebVR (например, его положение и ориентация в 3D-пространстве).

Gamepad.timestamp Только для чтения

DOMHighResTimeStamp, представляющий последнее время обновления данных для этого джойстика.

Пример

window.addEventListener("gamepadconnected", (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-interface
Расширения джойстика
# partial-gamepad-interface

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

Рабочий стол Мобильное устройство
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
Gamepad 21 12 29 15 10.1 25 32 14 10.3 1.5 4.4
axes 21 12 29 15 10.1 25 32 14 10.3 1.5 4.4
buttons 21 12 29 15 10.1 25 32 14 10.3 1.5 4.4
connected 25 12 29 15 10.1 25 32 14 10.3 1.5 4.4
displayId Нет 15–79 98
64–98Поддержка macOS была включена в Firefox 64.
55–98Поддержка Windows была включена в Firefox 55.
Нет Нет
55–80В настоящее время поддерживается только Google Daydream.
55–98
42–57В настоящее время поддерживается только Google Daydream.
Нет
6.0–13.0В настоящее время поддерживается только Google Daydream.
Нет
hand Нет 15–79 55 Нет Нет Нет 55 Нет Нет Нет Нет
hapticActuators Нет 15–79 55 Нет Нет Нет 55 Нет Нет Нет Нет
id 21 12 29 15 10.1 25 32 14 10.3 1.5 4.4
vibrationActuator 68 79 Нет 55 16.4 68 Нет 48 Нет 10.0 Нет

См. также

  • Использование API Gamepad
  • API Gamepad

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Gamepad

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API