Version: 2022.2
言語: 日本語
ChromeOS 用の開発
ChromeOS デバイスでのデバッグ

ChromeOS デバイスでのユーザー入力のサポート

タッチスクリーンを使用する Android アプリケーションとは異なり、ChromeOS デバイスの多くはラップトップ (あるいはラップトップモードのあるデバイス) です。そのため、ChromeOS 用のアプリケーションをビルドする場合は、マウス、タッチパッド、キーボードからの入力を処理する必要があります。Player 設定 の ChromeOS Input Emulation (メニュー: File > Build Settings > Player Settings > Other Settings) で、アプリケーションが ChromeOS デバイスでユーザー入力を処理する方法を指定できます。

Player 設定 ChromeOS Input Emulation の場所
Player 設定 “ChromeOS Input Emulation” の場所

マウスとタッチパッドの入力

タッチスクリーン入力をエミュレートするために、ChromeOS はマウスやタッチパッドの左クリック入力を画面タップに自動変換します。結果として、電話やタブレット用に開発された Android アプリケーションがデフォルトで ChromeOS デバイスで動作するようになります。

重要: サポートされているのは左クリックとキーボード入力のみです。それ以外の入力は無視されます。

デフォルトではこの動作は Player 設定 ChromeOS Input Emulation で有効にできます。

マウスとタッチパッドの入力をサポートするには、ChromeOS Input Emulation の設定を無効にしてください。このオプションを無効にすると、アプリケーションは、以下のマウスおよびタッチパッド入力を変換せずに受信します。

  • マウスの左クリックと右クリック (左クリックだけでなく)
  • スクロールホイールとタッチパッドのスクロールイベント
  • カーソル位置の更新。これにより、マウスオーバー機能 (カーソルでのコンポーネントのハイライトなど) の実装が可能になります。

この設定を無効にする場合は、マウスとタッチパッドの入力を処理するための Unity 入力コードの記述も必要になります。この入力コードには、カーソル位置の読み取り方法、マウスとタッチパッドのクリックの処理方法、スクロールイベントの読み取り方法に関する情報を含める必要があります。入力コードの記述に関する情報は、API スクリプトリファレンスの Input を参照してください。

ノート: Android と ChromeOS はカスタムカーソルをサポートしています。カーソルをカスタマイズするには Cursor.SetCustomCursor を参照してください。

UI とタッチスクリーンキーボード

Android では、入力フィールドやテキストフィールドが選択されると必ずスクリーンキーボード (仮想キーボード) が表示され、ユーザーはこれを使用してテキストを入力できます。ChromeOS では、ハードウェアキーボードが使用可能な状態になっている場合にはスクリーンキーボードは不要であり表示もされません。ハードウェアキーボードがない場合には、スクリーンキーボードが表示されます。この動作は、Player 設定 ChromeOS Input Emulation の影響を受けません。

ノート: Android アプリケーションがユーザーに TouchScreenKeyboard を開くように促すプロンプトを出す場合は、ChromeOS 上でも同様に動作します。

UI 要素上でのホバー

Unity は、ホバー機能をサポートするために正確なマウス位置を必要とします。ChromeOS Input Emulation モードでは正確なマウス情報が利用できません。このため、アプリケーションでホバー機能をサポートするには ChromeOS Input Emulation の設定を無効にする必要があります。

ChromeOS 用の開発
ChromeOS デバイスでのデバッグ