ゲームコントローラーサポート
概要¶
SDKが提供するUIでは、通常のマウスではなく「ゲームコントローラ」にマウスカーソルを移動してボタンをクリックできます。たとえば、SDKが公開しているWebビュー領域では、ユーザーはゲームコントローラにマウスカーソルを移動してWebビュー領域内のボタンをクリックできます。
Note
「ゲームコントローラ」機能は、以下のSDKバージョンから入手できます。
-
Hive SDK v4 Unity Windows 24.1.0以降
- Hive SDK v4 Android 26.7.0以降
サポートゲームコントローラ{ #supported-controller }¶
SDKがサポートするゲームコントローラの種類は以下の通りであり、SDKごとに使用できるコントローラ数は**最大1個**です。
*マイクロソフトXboxコントローラ
*ソニープレイステーションデュアルセンス、デュアルショックコントローラ
*任天堂スイッチプロコントローラ
コントローラキーマッピング{ #controller-keymapping }¶
以下のHive SDKバージョンからは、ゲームコントローラの使用時に、一部のUIでコントローラキーマッピングをサポートしています。
-
Hive SDK v4 Unity Windows 25.0.0以降
-
Hive SDK v4 Android 26.7.0以降
Warning
コントローラキーマッピングをサポートするUIでは、[キー操作方法](#key)が既存のUIでのキー操作方法と異なることに注意してください。
Note
コントローラキーマッピングを別途サポートしていないUIでは、画面上にマウスカーソルが表示され、カーソル移動を介してゲームコントローラにUIを制御します。
キーの操作方法{ #key }¶
| 入力デバイス | 従来のUIキーの操作方法 | コントローラキーマッピングサポートUIキーの操作方法 |
| 左アナログジョイスティック | マウスカーソル移動 | フォーカスシフト |
| 右アナログジョイスティック | マウス種、横ホイールスクロール | マウス種、横ホイールスクロール |
| Aボタン | マウス左ボタンクリック | 確認(デュアルセンス、デュアルショックの場合Xボタン) |
| Bボタン | サポートしていません | キャンセル(デュアルセンス、デュアルショックの場合Oボタン) |
| Dパッド | サポートしていません | フォーカスシフト |
コントローラキーマッピングサポートUIリスト{ #key-mapping-ui-list }¶
コントローラキーマッピング機能をサポートするUIのリストは次のとおりです。
| サポート対象UI | SDK v4 Unity Windowsをサポートするかどうか | SDK v4 Androidをサポートするかどうか | |
| 1 | アプリアップデート | サポート | サポート |
| 2 | 接続制限 | サポート | サポート |
| 3 | サーバーチェック | サポート | サポート |
| 4 | ログイン待機 | サポート | - |
| 5 | IdPリスト | サポート | - |
| 6 | アカウント衝突 | - | サポート |
| 7 | プロモーションバナー | サポート | 対応(フロントバナー) |
| 8 | プロモーションレビューポップアップ | - | サポート |
| 9 | プロモーション終了ポップアップ | - | サポート |
| 10 | Google決済アカウントの確認 | サポート | - |
| 11 | 決済確認 | サポート | - |
| 12 | 決済エラー | サポート | - |
| 13 | 再決済 | - | サポート |
| 14 | スチームデッキログイン | サポート | - |
| 15 | ログイン | サポート | - |
| 16 | パスワードを検索 | サポート | - |
| 17 | 認証番号入力 | サポート | - |
| 18 | メールを探す | サポート | - |
| 19 | 休眠アカウント案内 | サポート | - |
| 20 | アナリティクス同意画面 | - | サポート |
##注意事項(プラットフォーム共通){ #notes_all_platform }
SDKに「ゲームコントローラ」を適用する場合は、次の点に注意してください。
ゲームコントローラの動作範囲¶
ゲームコントローラは、SDKで実装されたUIでのみをサポートします。例えば、ログイン画面やニュースやプロモーションバナーなどゲームでSDKが浮かぶWebビューUIなどです。外部ブラウザウィンドウなど、SDKが実装していないUIではサポートされていません。ゲーム内でゲームコントローラを使用したマウスカーソルの移動は、開発者が直接実装する必要があります。
##注意事項(Windows){ #notes_windows_platform }
スチーム連動¶
スチーム連動時に「Steam Inputを使用する」に設定した場合、SDKが提供するゲームコントローラ機能は使用できません。ただし、Steamが提供するレイアウト変更により、SDKが提供するゲームコントローラ機能と同様の環境を提供できます。詳細については、SteamWorksの公式ドキュメントにある[Steam Inputページ](https://partner.steamgames.com/doc/features/steam_controller)を参照してください。
従来の方法でコントローラ入力処理¶
アプリがSDKメソッドを呼び出した後に応答を受信するまで、ゲームコントローラ(スチームデッキ自体コントローラを含む)入力が発生した場合、アプリ自体はゲームコントローラ入力を処理しないでください。 SDKが実装するUI上で発生するゲームコントローラの入力はSDKが処理するためです。
Windowsビデオキーボード¶
Windows ビデオキーボードで SDK が提供するゲームコントローラサポート機能を使用する場合、Windows ビデオキーボード「オプション」で次のように設定しなければゲームコントローラ機能を使用できます。
-
**スキャンして入力**チェック
-
**ジョイスティック、ゲームパッド、またはその他のゲームデバイスを使用**のみチェック
コントローラキーマッピング機能の制限¶
コントローラキーマッピング機能が適用されたUIは、Rog Ally > **ゲームパッドモード**でのみ正常に動作します。
注意事項 (Android){ #notes_android_platform }¶
Android OS仮想キーボード制御の制限¶
ゲームコントローラとしてUI内のテキスト入力フィールドを選択して公開されているAndroid OS仮想キーボードは、ゲームコントローラとして操作できません。仮想キーボードが有効になっている場合は、画面を直接タッチしてテキストを入力する必要があります。
ゲームコントローラの動作範囲¶
Hive SDKのゲームコントローラ機能は、SDKで直接実装されたUI領域でのみサポートされています。
以下に示すように、外部モジュールとシステム領域で自己公開するUIは、Hive SDKを介したゲームコントローラの制御対象から除外されます。
*外部ライブラリ連携UI:外部IdPログイン画面、決済(IAP)ポップアップ、コンテンツ共有ポップアップなど
*外部ブラウザとWebビュー:アプリ内ブラウザ(In-App Browser)と外部システムブラウザ
既知の問題{ #issues }¶
繰り返しゲームコントローラを再接続しようとすると、コントローラが異常に動作することがあります。たとえば、スイッチプロコントローラの場合、短時間で解放、接続を繰り返すと、ユーザーが操作しなくてもマウスカーソルが特定の方向に移動する現象が発生することがあります。これはスイッチプロコントローラの問題で、問題が発生したときに有線接続端子の左側にある同期ボタンを押すことで解決できます。