XRInputSource: gamepad property

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

Thuộc tính chỉ đọc gamepad của XRInputSource trả về một đối tượng Gamepad mô tả trạng thái của các nút và trục trên nguồn đầu vào XR, nếu đó là gamepad hoặc thiết bị tương tự. Nếu thiết bị không phải là thiết bị giống gamepad, giá trị của thuộc tính này là null.

Đối tượng Gamepad được trả về hoạt động như được mô tả bởi Gamepad API. Tuy nhiên, có một vài điều cần lưu ý:

  • Các đối tượng Gamepad thuộc về XRInputSource không được bao gồm trong mảng được trả về bởi navigator.getGamepads(). Gamepad liên kết chặt chẽ với phần cứng WebXR và không phải là thiết bị chơi game đa năng.
  • Gamepad.id là chuỗi rỗng ("")
  • Gamepad.index-1
  • Gamepad.connectedtrue cho đến khi XRInputSource bị xóa khỏi danh sách nguồn đầu vào XR hoạt động hoặc XRSession kết thúc.
  • Nếu một trục được báo cáo bởi Gamepad.axes đại diện cho trục của touchpad, giá trị là 0 khi thuộc tính GamepadButton.touched liên quan là false.
  • Gamepad.mapping trả về "xr-standard".

Ví dụ

Sử dụng nguồn đầu vào gamepad

js
for (const source of frame.session.inputSources) {
  const gamepad = source.gamepad;
  if (gamepad) {
    if (gamepad.buttons[2].pressed) {
      // do something
    }
  }
}

Thông số kỹ thuật

Specification
WebXR Gamepads Module - Level 1
# dom-xrinputsource-gamepad

Tương thích trình duyệt