Gamepad

Gamepad APIGamepad インターフェースはそれぞれのゲームパッドやその他のコントローラーを定義し、ボタンのプッシュや軸位置やIDといった情報にアクセスできるようにします。

Gamepad オブジェクトは2つのうちのどちらかの方法で取得できます : Gamepadオブジェクトは、gamepadconnected イベントと gamepaddisconnected イベントの gamepad プロパティを使用する方法、Navigator.getGamepads() メソッドが返した配列内の任意の位置を取得する方法のいずれかで返すことができます。

プロパティ

Gamepad.axes 読取専用
デバイス上に軸があるコントロールを表す配列です (例 : アナログスティック)。
Gamepad.buttons 読取専用
デバイス上のボタンを表す gamepadButton のオブジェクトの配列。
Gamepad.connected 読取専用
ゲームパッドがシステムに繋がっているかを表す真偽値。
Gamepad.displayId 読取専用
関連する VRDisplay の VRDisplay.displayId を返します (該当する場合)ゲームパッドが表示されているシーンを制御している VRDisplay を返します。
Gamepad.id 読取専用
コントローラーに関する識別情報を含む DOMString
Gamepad.index 読取専用
システムに現在接続しているそれぞれのデバイスを表すユニークな整数値。
Gamepad.mapping 読取専用
ブラウザがデバイス上のコントロールを既知のレイアウトに再マップしたかどうかを示す文字列。
Gamepad.timestamp 読取専用
このゲームパッドのデータが最後に更新された時刻を表す DOMHighResTimeStamp

Gamepad の実験的な拡張機能

以下のインターフェイスは、Gamepad Extensions の仕様で定義されており、触覚フィードバックや WebVR コントローラーのポーズ情報などの実験的機能へのアクセスを提供します。

Gamepad.hand 読取専用
コントローラーがどの手で持っているか、または持っている可能性が最も高いかを定義する列挙型。
Gamepad.hapticActuators 読取専用
GamepadHapticActuator オブジェクトを含む配列。各オブジェクトはコントローラーで使用できる触覚フィードバックハードウェアを表します。
Gamepad.pose 読取専用
WebVR コントローラーに関連付けられたポーズ情報 (例えば 3D 空間における位置と向き) を表す GamepadPose オブジェクト。

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);
});

仕様

仕様 状態 コメント
Gamepad
Gamepad の定義
草案 初期定義
WebVR 1.1
displayId の定義
ドラフト Gamepad.displayId プロパティの定義。
Gamepad Extensions
Gamepad extensions の定義
編集者草案 Experimental extensions to Gamepad の定義

ブラウザの互換性

BCD tables only load in the browser

参照