キーマップ ラボ研究・8分

ブラウザGamepadの互換性:オンラインテストが観察できるもの

コントローラの露出、標準マッピング、セキュアなコンテキスト、およびブラウザとオペレーティングシステムの検証のための実用的な互換性ノート。

Web Gamepad API は、ブラウザが明示するために選択したコントローラオブジェクトへのページアクセスを提供します。 それは広く有用であるが、可用性は、プラットフォーム間で同一のデバイス名、ボタンの注文、軸線の注文、または機能サポートを保証するものではありません。

ユーザーの活発化および露出

ブラウザは、接続デバイスを公開する前に、ゲームパッドボタンプレスを待ちます。 これは受動の指紋を減らし、コントローラーが物理的に接続できることを意味します navigator.getGamepads() 最初に空のエントリを返す。 Keymap Labs は、ユーザーがボタンを押し、現在のリストを継続的に検査しながら、接続イベントをリスニングするように促します。

複数のブラウザデバイス機能は、安全な接続が必要です。 使用条件 https://keymap.io, ブラウザの現在の状態を維持し、結果を比較するときにページのコピーまたは埋め込まれたバージョンを避ける.

標準および汎用マッピング

ゲームパッドオブジェクトは、顔のボタン、ショルダー、トリガー、スティック、方向ボタンの一般的な位置を与える標準的なマッピングを宣言することができます。 Generic デバイスは、デバイス固有の順序で、空のマッピングと生の配列を公開することができます。

キーマップラボは、常に未加工ボタンのインデックスと軸線値を示します。 コントローラが馴染みのある図に一致しない場合でも、このツールは便利です。 正当化された確実性で一般的な入力の名前を変更しません。

アナログトリガーは、スタックに応じて、僅かな値、別の軸またはデジタルボタンを持つボタンとして表示されることがあります。 タッチパッド、ジャイロ、バッテリーの状態、LED、ハプティックなどの追加機能は、コアマッピングを通して一貫して利用できず、標準的な診断範囲外にあります。

接続とインデックスの動作

ゲームパッドはブラウザセッション内のインデックスを受け取ります。 切断および再接続は、どのエントリがアクティブであるかを変更することができます。 ライブラボは、利用可能なデバイスを選択し、接続の変更に応答します。複数のコントローラーが露出したときにデバイスセレクターを使用します。

無線モードは、USBモードから設定された異なる識別子または機能を公開することができます。 トラブルシューティング中にその違いが記録されるべきです。 ブラウザの可視識別子は、プライバシーやドライバの理由で一般的なものもあります。

検証行列

深刻な互換性の比較は、オペレーティングシステムとブラウザのエンジン間で物理的なデバイスを必要とします。 Keymap Labs は標準 API を使用し、不足しているボタンや軸を防御的に処理しますが、オンラインテストではすべてのコントローラードライバーをエミュレートできません。

便利な比較記録には以下が含まれます。

  • オペレーティング・システムおよび版
  • ブラウザエンジンとバージョン
  • コントローラモデルとファームウェア
  • ワイヤーで縛られた、Bluetoothか専有受信機
  • レポートID、マッピング、軸、ボタン数
  • トリガー表現とスティックオーダー
  • 接続、再接続、フォーカス動作

結果は、時代を超えた「どこでも働く」バッジではなく、日付観測として扱われるべきである。 ブラウザとオペレーティングシステムのアップデートは、時間の経過とともにマッピングを変更できます。

空の結果を解釈する

ページの管理者は、デバイス、ユーザーアクティベーション、ブラウザの制限、競合アプリケーション、ドライバーレイヤー、または接続の問題を意味しません。 ふりがな ゲームパッド検出ガイド 制御された順序のそれらの層を通って歩きます。

デバイスが見えますが、ビジュアルラベルが間違っている場合、生のインデックスは入力がブラウザに達していることを確認します。 軸が中心に戻らない場合、 棒の漂流テスト タイムされたサンプルを追加しますが、その結果は現在のマッピングとキャリブレーションにバインドされます。

互換性の約束

Keymap Labs は、Gamepad API を公開し、誰が利用できなくなったら、明示的なフォールバック状態を提供するモダンなブラウザをサポートしています。 アカウント、ブラウザの拡張、またはドライバは必要ありません。 高度のコントローラーの特徴か普遍的なラベルを保証することができません。

その約束は意図的に正確です。 ユーザーは、プラットフォームがそれを可能にし、それがない有用な説明を働かせた生の診断を受け取ります。