DualSenseハプティック対応状況:ブラウザ別dual-rumble差分
ガイド記事 / 約7分で読めます / 一次情報: MDN「GamepadHapticActuator」「Gamepad API」
1. DualSenseのハプティックは2種類ある
PS5 DualSenseワイヤレスコントローラーには2系統の触覚機構が搭載されています。 ①ハプティックフィードバック(ボイスコイルモーター式、本体の振動)、②アダプティブトリガー(L2/R2の押し込み抵抗を電動で可変させる機構)です。 ブラウザのGamepad APIから扱えるのは①の振動のみで、アダプティブトリガーは2026年6月時点でWeb API化されていません。 振動はGamepadHapticActuatorインターフェース経由でplayEffect("dual-rumble", options)を呼び出して発動します。
2. dual-rumbleエフェクトのパラメータ
dual-rumbleはコントローラー内の左右2つの偏心モーター(強モーター・弱モーター)を独立駆動する標準エフェクトです。 パラメータは以下4種類:
- ・
duration:振動時間(ミリ秒、最大5000ms程度が安全) - ・
strongMagnitude:強モーターの振動強度(0.0〜1.0) - ・
weakMagnitude:弱モーターの振動強度(0.0〜1.0) - ・
startDelay:開始遅延(オプション、ミリ秒)
本ツール(ゲームパッドテスト)はduration=800、strongMagnitude=1.0、weakMagnitude=0.6を採用しています。 短時間(1秒未満)に抑えることでバッテリー消費とモーター寿命への影響を最小化しています。
3. ブラウザ別の対応マトリクス
| ブラウザ | dual-rumble | trigger-rumble | 備考 |
|---|---|---|---|
| Chrome(Win/Mac/Linux) | ○ | △(実験的) | 最も安定。USB/BT両対応 |
| Edge(Chromium) | ○ | △(実験的) | Chromeと同等 |
| Firefox | △ | × | 機種により未対応 |
| Safari(macOS / iOS) | ○(近年対応) | × | iOSはMFi認証パッド推奨 |
| Opera(Chromium) | ○ | △ | Chromeと同等 |
4. USB接続とBluetooth接続の挙動差
DualSenseの振動は接続方法でも挙動が異なります。USB-C接続は信号遅延が小さく振動の立ち上がりが鋭く、Bluetooth接続は10〜30ms程度の遅延が乗ります(OS実装やドライバ依存)。 特にWindows 11標準のBluetoothドライバではDualSense振動が正常に動作しないケースが報告されており、SonyのPS Remote Playアプリ経由か、USB-C有線接続が確実です。 本ツールで振動が動かない場合は、まずUSB有線接続に切り替えて再試行することを推奨します。
5. Web Vibration APIとの違い
「振動」を扱うWeb APIにはもうひとつnavigator.vibrate()(Web Vibration API)がありますが、こちらはスマートフォン本体のバイブレーターを対象としたAPIで、外部接続コントローラーには作用しません。 Gamepad APIのvibrationActuator.playEffect()は外部接続のゲームパッド専用です。両者は混同しやすいので開発時は注意が必要です。 Gamepad APIで「Bluetoothヘッドセットを振動させたい」「スマホ本体を振動させたい」という用途はサポートされていません。
6. アクセシビリティへの配慮
ハプティック機能は触覚を活用したフィードバックですが、以下の配慮が推奨されます。
- ・振動が苦手な利用者向けにON/OFF切り替えを提供する
- ・
prefers-reduced-motionのメディアクエリ判定で振動を抑制する選択肢 - ・長時間連続振動はレイノー症候群(手の血流障害)の悪化要因になるため、最大駆動時間を制限する
- ・聴覚障害者向けにビジュアル+振動の併用通知パターンを検討する
本ツールは「振動をテストする」ボタン押下時のみ800msの単発再生にとどめ、自動連続振動を行わない設計です。