Version: 2020.1
言語: 日本語
モバイルデバイスの入力
Unity の XR 入力

モバイルキーボード

ほとんどの場合、Unity は GUI 要素のキーボード入力を自動的にハンドリングしますがスクリプトからの要求によりキーボードを表示するのも簡単です。

GUI 要素

ユーザーが編集可能な GUI 要素をタップしたときキーボードは自動表示されます。現在では GUI.TextFieldGUI.TextAreaGUI.PasswordField によりキーボードが表示されます。詳細については GUI クラス を参照してください。

手動でのキーボードハンドリング

TouchScreenKeyboard.Open() 関数を使用してキーボードを開きます。この関数が使用する引数については TouchScreenKeyboard スクリプティングリファレンスを参照してください。

キーボード種類のまとめ

キーボードは次の種類をサポートしています。

プロパティ 機能
TouchScreenKeyboardType.Default 文字列。数字と記号のキーボードに切り替えできます。
TouchScreenKeyboardType.ASCIICapable 文字列。数字と記号のキーボードに切り替えできます。
TouchScreenKeyboardType.NumbersAndPunctuation 数字と記号。文字列のキーボードに切り替えできます。
TouchScreenKeyboardType.URL スラッシュ記号と .com ボタンのついた文字列。数字と記号のキーボードに切り替えできます。
TouchScreenKeyboardType.NumberPad 0 から 9 までの数字のみ。
TouchScreenKeyboardType.PhonePad 電話番号を入力するためのキーボード。
TouchScreenKeyboardType.NamePhonePad 文字列。電話番号を入力するためのキーボードに切り替えできます。
TouchScreenKeyboardType.EmailAddress @ 記号のついた文字列。数字と記号のキーボードに切り替えできます。

テキストプレビュー

デフォルトでは、キーボードが表示された後に編集ボックスが作成されてキーボードの上に配置されます。ユーザーが入力しているテキストのプレビューとして動作し、ユーザーはテキストを常に見ることができます。しかし、TouchScreenKeyboard.hideInput を true にすることで、テキストプレビューを無効化できます。特定のキーボードの種類および入力モードでのみ動作することに注意してください。例えば、電話キーパッドや複数行テキスト入力では動作しません。そういったケースでは、編集ボックスは必ず表示されます。TouchScreenKeyboard.hideInput はグローバル変数ですべてのキーボードに影響します。

Visibility およびキーボードサイズ

TouchScreenKeyboard には 3 つのキーボードプロパティにより、キーボードの Visibility ステータスおよび画面上のサイズを決定します。

プロパティ 機能
visible キーボードが画面に完全に表示されていて、かつ文字列が入力できる場合に true を返します。
area キーボードの位置とサイズを返します。
active キーボードが有効化されている場合に true を返します。このプロパティは static プロパティではありません。キーボードのインスタンスがないと、このプロパティを使用できません。

TouchScreenKeyboard.area は、キーボードが完全に画面に表示されるまで、位置とサイズが 0 にセットされた rect を返すことに注意してください。TouchScreenKeyboard.Open の直後に値を取得すべきではありません。キーボードイベントのステップは次のとおりです。

  • TouchScreenKeyboard.Open がコールされる。TouchScreenKeyboard.active が true を返す。TouchScreenKeyboard.visible が false を返す。TouchScreenKeyboard.area が (0, 0, 0, 0) を返す。
  • キーボードが画面上にスライドしながら表示される。すべてのプロパティは同じままです。
  • キーボードの画面上でのスライドが止まる。TouchScreenKeyboard.active が true を返す。TouchScreenKeyboard.visible が true を返す。TouchScreenKeyboard.area がキーボードの実際の位置とサイズを返す。

セキュリティのかかったテキスト入力

キーボード入力が行われるときに入力した文字を隠すことが可能です。これはユーザーにセンシティブな情報(パスワードなど)の入力を求めるときに使用してください。セキュリティのかかったテキスト入力を有効化して、キーボードをスクリプトから開くためには、次のコードを使用します。

TouchScreenKeyboard.Open("", TouchScreenKeyboardType.Default, false, false, true);


テキスト入力の際にテキストを隠す
テキスト入力の際にテキストを隠す

アラートキーボード

キーボードで、通常の不透明な背景ではなく、部分的に透明で黒い背景としたい場合、次のように TouchScreenKeyboard.Open を呼び出します:

TouchScreenKeyboard.Open("", TouchScreenKeyboardType.Default, false, false, true, true);


アラートキーボード
アラートキーボード
モバイルデバイスの入力
Unity の XR 入力