Gamepad API


Gamepad API は開発者に様々な種類のゲームパッドや単純で一貫した異なるゲームのコントローラーと接続する方法を提供している。これには、ゲームパッドの接続や切断、ゲームパッドに関するその他の情報へのアクセス、現在押されているボタンやその他のコントロールなど、3つのインターフェース、2つのイベントと1つの特別な機能が含まれています。

インターフェイス

Gamepad
コンピュータに接続しているゲームパット・コントローラーを表します。
GamepadButton
接続されているコントローラのいずれかのボタンを表します。
GamepadEvent
ゲームパッドに関連するイベントを表すイベントオブジェクトです。

Gamepad の実験的な拡張機能

 

GamepadHapticActuator
ユーザに触覚フィードバックを提供するように設計されたコントローラ内のハードウェア (使用可能な場合)、最も一般的には振動ハードウェアを表します。
GamepadPose
WebVR コントローラの場合のコントローラの姿勢 (3D 空間内の位置と向きなど) を表します。

上記の情報にアクセスできる機能については、Gamepad インターフェースの拡張機能を参照してください。

他のインターフェースの拡張

 

ナビゲータ

Navigator.getGamepads()
接続されたゲームパッドごとに一つの Gamepad オブジェクトの配列を返す Navigator オブジェクトの拡張です。

Window イベント

Window.ongamepadconnected
ゲームパッドが接続したとき (gamepadconnectedイベントが発生したとき) に実行されるイベントハンドラを表します
Window.ongamepaddisconnected
ゲームパッドが切断したとき (gamepaddisconnectedイベントが発生したとき) に実行されるイベントハンドラを表します

チュートリアルとガイド

仕様

仕様 状態 コメント
Gamepad Extensions 編集者草案 実験的な Gamepad 拡張 の定義
Gamepad
The Gamepad API specification の定義
草案 初期定義

ブラウザの互換性

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 完全対応 あり

凡例

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

参照