XRInputSource: gamepad プロパティ
利用可能性は限定的
この機能はベースラインではありません。最も広く使用されているブラウザーの一部で動作しません。
読み取り専用の XRInputSource の gamepad プロパティは、 XR 入力ソースがゲームパッドまたは同等の機器である場合、ボタンと軸の状態を記述した Gamepad オブジェクトを返します。機器がゲームパッドのようなものでない場合、このプロパティの値は null です。
返される Gamepad インスタンスはゲームパッド API で説明されているとおりに動作します。ただし、いくつか注意すべきことがあります。
XRInputSourceに属するGamepadインスタンスはnavigator.getGamepads()が返す配列には含まれません。ゲームパッドは厳密に WebXR ハードウェアに関連付けられるものであり、汎用のゲーム機器ではありません。Gamepad.idは空文字列 ("") です。Gamepad.indexは-1です。Gamepad.connectedはXRInputSourceがアクティブな 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) {
// 何かする
}
}
}
仕様書
| 仕様書 |
|---|
| WebXR Gamepads Module - Level 1> # dom-xrinputsource-gamepad> |