Gamepad

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

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

Gamepad オブジェクトを取得する方法は 2 つあります。 gamepadconnected または gamepaddisconnected イベントの gamepad プロパティか、 Navigator.getGamepads() から返される配列の任意の位置から取得します。

プロパティ

Gamepad.axes 読取専用

機器上に軸があるコントロールを表す配列です(例: アナログスティック)。

Gamepad.buttons 読取専用

機器上のボタンを表す gamepadButton のオブジェクトの配列。

Gamepad.connected 読取専用

ゲームパッドがシステムに繋がっているかを表す論理値。

Gamepad.displayId 読取専用 非推奨; 非標準

関連する VRDisplayVRDisplay.displayId を返します)該当する場合)。ゲームパッドが表示されているシーンを制御している VRDisplay を返します。

Gamepad.hand 読取専用 Experimental

コントローラーがどの手で握られているか、または握られる可能性が高いかを定義する列挙型です。

Gamepad.hapticActuators 読取専用 Experimental

GamepadHapticActuator オブジェクトを格納した配列で、各オブジェクトはコントローラーで利用できる触覚フィードバックのハードウェアを表します。

Gamepad.vibrationActuator 読取専用 非標準

GamepadHapticActuator オブジェクトで、コントローラーで利用できる触覚フィードバックのハードウェアを表します。

Gamepad.id 読取専用

文字列で、コントローラーに関する識別情報を示します。

Gamepad.index 読取専用

システムに現在接続しているそれぞれの機器を表す固有の整数値。

Gamepad.mapping 読取専用

ブラウザーが機器上のコントロールを既知のレイアウトに再マップしたかどうかを示す文字列。

Gamepad.pose 読取専用 Experimental

WebVR コントローラーに関連するポーズ情報(3D 空間における位置や向きなど)を表す GamepadPose オブジェクトです。

Gamepad.timestamp 読取専用

このゲームパッドのデータが最後に更新された時刻を表す DOMHighResTimeStamp です。

js
window.addEventListener("gamepadconnected", (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

ブラウザーの互換性

BCD tables only load in the browser

関連情報