XRInputSource: gamepad プロパティ

Limited availability

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

読み取り専用の XRInputSourcegamepad プロパティは、 XR 入力ソースがゲームパッドまたは同等の機器である場合、ボタンと軸の状態を記述した Gamepad オブジェクトを返します。機器がゲームパッドのようなものでない場合、このプロパティの値は null です。

返される Gamepad インスタンスはゲームパッド API で説明されているとおりに動作します。ただし、いくつか注意すべきことがあります。

  • XRInputSource に属する Gamepad インスタンスは navigator.getGamepads() が返す配列には含まれません。ゲームパッドは厳密に WebXR ハードウェアに関連付けられるものであり、汎用のゲーム機器ではありません。
  • Gamepad.id は空文字列 ("") です。
  • Gamepad.index-1 です。
  • Gamepad.connectedXRInputSource がアクティブな XR 入力ソースのリストから除去されるか、 XRSession が終わるまでは true です。
  • Gamepad.axes で報告される軸がタッチパッドの軸を表す場合、関連する GamepadButton.touched プロパティが false のとき、値は 0 になります。
  • Gamepad.mapping は "xr-standard" を返します。

gamepad 入力ソースの使用

js
for (const source of frame.session.inputSources) {
  const gamepad = source.gamepad;
  if (gamepad) {
    if (gamepad.buttons[2].pressed) {
      // 何かする
    }
  }
}

仕様書

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

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
gamepad

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support