Gamepad
        
        
          
                Baseline
                
                  Widely available
                
                 *
              
        
        
        
          
                
              
                
              
                
              
        
        
      
      This feature is well established and works across many devices and browser versions. It’s been available across browsers since март 2017 г..
* Some parts of this feature may have varying levels of support.
Интерфейс 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Только для чтения
- 
Логическое свойство показывающее, подключён ли геймпад к системе в данный момент. 
- 
Массив объектов 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,
  );
});
Спецификации
| Specification | 
|---|
| Gamepad> # gamepad-interface> | 
| Gamepad Extensions> # partial-gamepad-interface> | 
Совместимость с браузерами
Loading…