HIDインスペクター · PlayStationコントローラーの生レポート

コントローラーHIDインスペクター

DualSenseやDualShock 4の生のHIDレポートを読み取り:バイト単位のスティック中心、ドリフト率、ジャイロバイアス、レポートレート、バッテリー、タッチパッドをWebHID経由で読み取り専用で確認します。

コントローラーHIDインスペクターDualSense · DualSense Edge · DualShock 4 · WebHID経由の生レポート
PlayStationコントローラーをUSBまたはBluetoothで接続し、ブラウザのダイアログで選択します。コントローラーには何も書き込まれません。
モデル
接続方式
レポートレートブラウザに届く1秒あたりのレポート数
バッテリー

左スティック

X 128Y 128
生の中心オフセット

右スティック

X 128Y 128
生の中心オフセット

ボタン、トリガー、モーション

ボタンなし
L2 · R20 · 0
ジャイロ(ピッチ · ヨー · ロール)
加速度センサー
タッチパッドの接触数0
静止サンプル:コントローラーを置き、両スティックから手を離して3秒間動かさないでください。
左スティックのドリフト(HID)生の中心 · 128が完全な中心
右スティックのドリフト(HID)生の中心 · 128が完全な中心
静止時のジャイロバイアスノイズ —
スティック分解能スイープ中の軸ごとの異なる生の値の数(最大256)
サンプリングしたレポート数0静止サンプルのサイズ
Gamepad APIの中心ブラウザが公開する形での同じスティック

限界: インスペクターは入力レポートを読み取るだけです。フィーチャーレポートの送信、キャリブレーションの変更、コントローラーへの書き込みは行いません。レポートレートはブラウザに届く値です:USB接続のDualSenseは通常250 Hz、Bluetoothはホストにより100〜1000 Hz。ここで低い数値が出る場合、多くはパッドではなくホスト側の問題です。

この結果を保存・共有

数値をこのブラウザ内のプライベートなデバイスパスポートに保存するか、測定内容をそのまま示すカードをコピーします。

パスポートを開く

投稿しない限り何もアップロードされません。カードとリンクには上に表示された数値のみが含まれます。

このページの用語
HID / WebHID

入力デバイスがコンピュータと通信するための標準言語であり、ページが直接読み取れるようにするブラウザ機能です。ドライバーが表示するように決定したものではなく、デバイス自身が報告する内容を公開します。

ログイン

スマートフォンやコントローラーに搭載された回転を報告するモーションセンサー。ゲームではスティックやタッチ入力に加え、精密なエイミングに使用されます。

スティックドリフト

スティックに触れていないのにコントローラーが動きを報告すること。摩耗や調整不良のスティックは正確にゼロに戻りません。

スティックの動きの一方向で、-1から1で報告されます。各スティックには左右と上下の2つがあります。

テスト前のクイック回答

なぜGamepad APIではなく生のHIDなのか?

Gamepad APIはブラウザ自身のデッドゾーンとマッピングを経た−1〜1の処理済みの値を返します。HIDレポートはコントローラーが送る正確な8ビットのバイトを示すため、128ではなく131という中心を、ソフトウェアが丸めてしまう前に確認できます。

これでコントローラーは再キャリブレーションされますか?

いいえ。インスペクターは入力レポートを読むだけです。再キャリブレーションツールはコントローラーに書き込み、状態を悪化させることもあります。このラボは判断前の状態を記録します。

ブラウザレベルのスティックドリフトテスト →

どのコントローラーが対応していますか?

デスクトップのChrome、Edge、OperaでUSBまたはBluetooth接続のSony DualSense、DualSense Edge、DualShock 4。XboxコントローラーはXInputを使うためWebHIDには公開されません。それらにはゲームパッドテストを使ってください。

この結果が実際に測定するもの

インスペクターはWebHID経由でコントローラーを開き、各入力レポートを解析します:生のスティックバイトとトリガー、ボタン、符号付き16ビット値としてのジャイロスコープと加速度計、タッチパッドの接触、バッテリー残量と充電状態。静止サンプルは3秒間の生のスティック中心を平均してドリフト率にし、ジャイロのバイアスとノイズを導きます。レポートレートはブラウザに届く1秒あたりの入力レポート数を数え、スイープは軸ごとの異なる生の値を数えます。

測定の範囲: レイアウトは公開されているLinuxドライバーの資料に従います。未知のSonyプロダクトIDではフィールドがずれる可能性があります。レポートレートはコントローラーと同じくらいホスト側のスタックを反映します。インスペクターはデバイスに書き込まず、ファームウェアのキャリブレーションテーブルも見られません。

結果の読み方

生の中心

8ビットのスティックでは128が完全な中心です。1ステップは可動範囲の約0.8%で、静止時の中心が124や132ならデッドゾーン適用前で約3%のドリフトです。

レポートレート

USB接続のDualSenseは通常1秒に250レポートを送ります。Bluetoothはホストにより100〜1000 Hzで変動します。USBで期待値を大きく下回る場合、たいていはコントローラーではなくハブやホストの問題です。

ジャイロバイアス

静止中のジャイロの平均値。ノイズが小さくバイアスが大きければキャリブレーションのオフセット、ノイズが大きければ置いた面の振動かセンサーの不良が疑われます。

予期しない結果の確認

ダイアログにコントローラーが表示されない

WindowsではSteam InputとDS4Windowsが排他的にアクセスするため閉じてください。Linuxではudevルールでユーザーがhidrawデバイスを開けるようにする必要があります。Bluetoothのパッドはペアリング済みでスリープしていない必要があります。

値がずれて見える

BluetoothとUSBのレポートはオフセットが異なり、インスペクターはレポートIDで切り替えます。SonyのプロダクトIDが既知のリストにない場合はフィールドがずれることがあり、ラベルにその旨が表示されます。

レポートレートが60 Hz以下と表示される

タブは前面に置く必要があります。バックグラウンドでは制限によりブラウザがHIDイベントを配信する頻度が下がります。

よくある質問

WebHIDは安全ですか?

ブラウザはデバイスごとに許可を求め、選択したコントローラーだけがページを開いている間のみ公開されます。このページは入力レポートを読み取るだけで、出力レポートやフィーチャーレポートは決して送りません。

HIDドリフトがスティックドリフトテストと異なるのはなぜ?

Gamepad APIはブラウザの処理を適用し、ゲームは独自のデッドゾーンを適用します。生のHIDはウェブページが得られる最も早い段階の値で、その差がソフトウェアがどれだけ隠しているかを示します。

チャットボットは私のコントローラーの生の中心を読めますか?

いいえ。そのバイトはあなたのコントローラーと、インスペクター実行中のブラウザセッションにしか存在しません。