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 の定義

ブラウザの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
GamepadChrome 完全対応 35
完全対応 35
未対応 21 — 34
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Edge 完全対応 ありFirefox 完全対応 29
完全対応 29
未対応 24 — 28
無効
無効 From version 24 until version 28 (exclusive): this feature is behind the dom.gamepad.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE 未対応 なしOpera 完全対応 22
完全対応 22
未対応 15 — 21
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Safari 完全対応 10.1WebView Android 未対応 なしChrome Android 完全対応 35
完全対応 35
未対応 25 — 34
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Firefox Android 完全対応 32Opera Android 完全対応 22
完全対応 22
未対応 14 — 21
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Safari iOS 完全対応 10.3Samsung Internet Android 完全対応 あり
Gamepad() constructorChrome 完全対応 35Edge 完全対応 12Firefox 完全対応 29
完全対応 29
未対応 24 — 28
無効
無効 From version 24 until version 28 (exclusive): this feature is behind the dom.gamepad.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE 未対応 なしOpera 完全対応 22Safari 完全対応 10.1WebView Android 未対応 なしChrome Android 完全対応 35Firefox Android 完全対応 32Opera Android 完全対応 22Safari iOS 完全対応 10.3Samsung Internet Android 完全対応 あり
axesChrome 完全対応 35
完全対応 35
未対応 21 — 34
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Edge 完全対応 12Firefox 完全対応 29
完全対応 29
未対応 24 — 28
無効
無効 From version 24 until version 28 (exclusive): this feature is behind the dom.gamepad.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE 未対応 なしOpera 完全対応 22
完全対応 22
未対応 15 — 21
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Safari 完全対応 10.1WebView Android 未対応 なしChrome Android 完全対応 35
完全対応 35
未対応 25 — 34
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Firefox Android 完全対応 32Opera Android 完全対応 22
完全対応 22
未対応 14 — 21
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Safari iOS 完全対応 10.3Samsung Internet Android 完全対応 あり
buttonsChrome 完全対応 35
完全対応 35
未対応 21 — 34
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Edge 完全対応 12Firefox 完全対応 29
完全対応 29
未対応 24 — 28
無効
無効 From version 24 until version 28 (exclusive): this feature is behind the dom.gamepad.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE 未対応 なしOpera 完全対応 22
完全対応 22
未対応 15 — 21
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Safari 完全対応 10.1WebView Android 未対応 なしChrome Android 完全対応 35
完全対応 35
未対応 25 — 34
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Firefox Android 完全対応 32Opera Android 完全対応 22
完全対応 22
未対応 14 — 21
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Safari iOS 完全対応 10.3Samsung Internet Android 完全対応 あり
connectedChrome 完全対応 35
完全対応 35
未対応 25 — 34
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Edge 完全対応 12Firefox 完全対応 29
完全対応 29
未対応 24 — 28
無効
無効 From version 24 until version 28 (exclusive): this feature is behind the dom.gamepad.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE 未対応 なしOpera 完全対応 22
完全対応 22
未対応 15 — 21
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Safari 完全対応 10.1WebView Android 未対応 なしChrome Android 完全対応 35
完全対応 35
未対応 25 — 34
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Firefox Android 完全対応 32Opera Android 完全対応 22
完全対応 22
未対応 14 — 21
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Safari iOS 完全対応 10.3Samsung Internet Android 完全対応 あり
displayId
実験的非推奨
Chrome 完全対応 あり
補足 無効
完全対応 あり
補足 無効
補足 Only works on desktop in an experimental version of Chrome (other builds won't return any devices when Navigator.getVRDisplays() is invoked).
無効 This feature is behind the WebVR preference. To change preferences in Chrome, visit chrome://flags.
Edge 完全対応 15Firefox 完全対応 55
補足
完全対応 55
補足
補足 Windows support was enabled in Firefox 55.
完全対応 64
補足
補足 macOS support was enabled in Firefox 64.
IE 未対応 なしOpera ? Safari 未対応 なしWebView Android 未対応 なしChrome Android 完全対応 あり
補足
完全対応 あり
補足
補足 Currently supported only by Google Daydream.
Firefox Android 完全対応 55Opera Android ? Safari iOS 未対応 なしSamsung Internet Android 完全対応 あり
hand
実験的
Chrome 未対応 なしEdge 完全対応 15Firefox 完全対応 あり
補足 無効
完全対応 あり
補足 無効
補足 The flag is enabled by default in Firefox Nightly and Beta, versions 55 and above.
無効 This feature is behind the dom.gamepad-extensions.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE 未対応 なしOpera 未対応 なしSafari 未対応 なしWebView Android 未対応 なしChrome Android 未対応 なしFirefox Android 未対応 なしOpera Android 未対応 なしSafari iOS 未対応 なしSamsung Internet Android 未対応 なし
hapticActuators
実験的
Chrome 未対応 なしEdge 完全対応 15Firefox 完全対応 あり
補足 無効
完全対応 あり
補足 無効
補足 The flag is enabled by default in Firefox Nightly and Beta, versions 55 and above.
無効 This feature is behind the dom.gamepad-extensions.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE 未対応 なしOpera 未対応 なしSafari 未対応 なしWebView Android 未対応 なしChrome Android 未対応 なしFirefox Android 未対応 なしOpera Android 未対応 なしSafari iOS 未対応 なしSamsung Internet Android 未対応 なし
id
実験的
Chrome 完全対応 35
完全対応 35
未対応 21 — 34
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Edge 完全対応 12Firefox 完全対応 29
完全対応 29
未対応 24 — 28
無効
無効 From version 24 until version 28 (exclusive): this feature is behind the dom.gamepad.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE 未対応 なしOpera 完全対応 22
完全対応 22
未対応 15 — 21
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Safari 未対応 なしWebView Android 未対応 なしChrome Android 完全対応 35
完全対応 35
未対応 25 — 34
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Firefox Android 完全対応 32Opera Android 完全対応 22
完全対応 22
未対応 14 — 21
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Safari iOS 未対応 なしSamsung Internet Android 完全対応 あり
index
実験的
Chrome 完全対応 35
完全対応 35
未対応 21 — 34
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Edge 完全対応 12Firefox 完全対応 29
完全対応 29
未対応 24 — 28
無効
無効 From version 24 until version 28 (exclusive): this feature is behind the dom.gamepad.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE 未対応 なしOpera 完全対応 22
完全対応 22
未対応 15 — 21
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Safari 完全対応 10.1WebView Android 未対応 なしChrome Android 完全対応 35
完全対応 35
未対応 25 — 34
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Firefox Android 完全対応 32Opera Android 完全対応 22
完全対応 22
未対応 14 — 21
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Safari iOS 完全対応 10.3Samsung Internet Android 完全対応 あり
mappingChrome 完全対応 35
完全対応 35
未対応 21 — 34
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Edge 完全対応 12Firefox 完全対応 29
完全対応 29
未対応 24 — 28
無効
無効 From version 24 until version 28 (exclusive): this feature is behind the dom.gamepad.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE 未対応 なしOpera 完全対応 22
完全対応 22
未対応 15 — 21
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Safari 完全対応 10.1WebView Android 未対応 なしChrome Android 完全対応 35
完全対応 35
未対応 25 — 34
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Firefox Android 完全対応 32Opera Android 完全対応 22
完全対応 22
未対応 14 — 21
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Safari iOS 完全対応 10.3Samsung Internet Android 完全対応 あり
pose
実験的
Chrome 未対応 なしEdge 完全対応 15Firefox 完全対応 あり
補足 無効
完全対応 あり
補足 無効
補足 The flag is enabled by default in Firefox Nightly and Beta, versions 55 and above.
無効 This feature is behind the dom.gamepad-extensions.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE 未対応 なしOpera 未対応 なしSafari 未対応 なしWebView Android 未対応 なしChrome Android 未対応 なしFirefox Android 未対応 なしOpera Android 未対応 なしSafari iOS 未対応 なしSamsung Internet Android 未対応 なし
timestampChrome 完全対応 35
完全対応 35
未対応 21 — 34
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Edge 完全対応 12Firefox 完全対応 29
完全対応 29
未対応 24 — 28
無効
無効 From version 24 until version 28 (exclusive): this feature is behind the dom.gamepad.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE 未対応 なしOpera 完全対応 22
完全対応 22
未対応 15 — 21
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Safari 完全対応 10.1WebView Android 未対応 なしChrome Android 完全対応 35
完全対応 35
未対応 25 — 34
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Firefox Android 完全対応 32Opera Android 完全対応 22
完全対応 22
未対応 14 — 21
接頭辞付き
接頭辞付き webkit のベンダー接頭辞が必要
Safari iOS 完全対応 10.3Samsung Internet Android 完全対応 あり

凡例

完全対応  
完全対応
未対応  
未対応
実装状況不明  
実装状況不明
実験的。動作が変更される可能性があります。
実験的。動作が変更される可能性があります。
非推奨。新しいウェブサイトでは使用しないでください。
非推奨。新しいウェブサイトでは使用しないでください。
実装ノートを参照してください。
実装ノートを参照してください。
ユーザーが明示的にこの機能を有効にしなければなりません。
ユーザーが明示的にこの機能を有効にしなければなりません。
使用するには、ベンダー接頭辞または異なる名前が必要です。
使用するには、ベンダー接頭辞または異なる名前が必要です。

参照