Unityで書き出したIOSアプリでBluetoothキーボードが使えるか?
結論からいうと、Unityから書き出したiPhoneアプリでもBluetooth接続のキーボードが使えます。
ソフトウェアキーボードがBluetoothキーボードに置き換わったと思えばイメージしやすいかと思います。
ただ、2点ほど困った事がありました。
検証方法
実際に以下の方法で検証してみました。
検証環境:
・Unity 2017.3.1f1(IOSでビルド)
・iPhone7(ios12)
・BluetoothキーボードはPomera DM200
今回は、Bluetoothキーボードに「Pomera DM200」を使いました。
「Pomera D200」は、テキスト入力に特化した電子文房具です。PomeraにはWebブラウザーやメールの機能がないため、文章を書くことに集中できます。
と・・・本題と話がそれました。
困った点が2つほどありました。
困りごと
現在の入力モードがわからない
Bluetoothキーボードと接続できると、ソフトウェアキーボードは隠れます。
キーボードが隠れて全画面表示されるのは、情報量が増えるので嬉しいことです。
その結果、Bluetoothキーボードが使えるようになると、いま「半角」「ひらがな」「カタカナ」のどの入力モードなのかわかりません。その結果、実際に入力してみないとわかりません。
半角文字入力だと思っていたらローマ字入力だったなんてよくあります。
よって、実際に入力してみてどの入力モードが判断する必要があります。
英文字で入力する際、1文字目が大文字になってしまうことがある
英語の小文字を入力する際、1文字目が大文字になってしまうことがあります。
IOSのキーボードは、英文字を入力する際、1文字目を大文字にする機能があるため、その機能が効いていると思われます。1文字目を大文字にしたい場合は、問題はないですが、小文字から入力するときが困ります。
キーボード入力はどのようにして行うの?
キーボード入力する際は、ソフトウェアキーボードを使うときと同じように以下の関数を呼び出します。
keyboard = TouchScreenKeyboard.Open(“”, TouchScreenKeyboardType.Default,false);
keyboard.textで入力された文字列を取得できます。
Bluetoothキーボードと接続されていないときは、ソフトウェアキーボードが表示されます。
Bluetoothキーボードと接続されると、ソフトウェアキーボードが隠れ、Bluetoothキーボードから入力が行われるようになります。
まとめ
Bluetoothキーボードで文字を入力するアプリを開発することは可能です。
しかし、今回の記事に挙げたような課題があるため、課題を回避させる手段が必要になります。