ガラホ(KYF37)向けアプリをUnityで作ってみる

ガラホとは

ja.wikipedia.org

ガラホガラケーを作るにあたり、OSを含むスマホの技術・部品を転用したもの(ガラケーの機能・表示・操作感の再現などを目的に、スマホにある機能が一部削られている)」

とのこと。ちなみに「ガラホ」という単語はKDDIに商標登録されている。

KYF37とは

www.kyocera.co.jp

Android5.1.1をベースにした二つ折り携帯。

操作感などは従来のガラケーに近い感じでAndroidっぽさはほぼない。

ツイートの通り、防水防塵耐衝撃でハードウェアキーのある扱いやすい端末なのだが、ほどほど市場に出回っているものの、そこまで需要があるものでもないため中古品が非常に安価(今回は2000円)に手に入るため今回開発してみることにした。

Unityでの開発

動かすまで

Android5.1.1ベースであるためUnityでAndroid向け開発を行うのと同様に開発ができる。

UnityでAndroid開発する際はモジュールを追加するだけで簡単に環境ができる。

f:id:futanyaha:20210920233446p:plain
Unityへのモジュール追加

KYF37の開発者向けオプションを出すには通常のAndroid端末と同様に端末情報のビルド番号を連打すると開発者向けオプションが有効になる。

ADB用USBドライバも以下に。

www.kyocera.co.jp

端末をパソコンにつなぎ

Unityで適当にオブジェクトやUIを配置

PlatformをAndroidにしていつものように「Build And Run」すると……

f:id:futanyaha:20210920234244p:plain
Build Settings

このように普通に起動する。

ガラケーの見た目でUnityアプリが動いているのは面白いです。

UnityとKYF37(ガラホ)について

KYF37向けにUnityで開発していて気が付いたことを書いていきます。

タッチパネルがなく、ポインターもうまく動作しない

KYF37にはタッチパネルがありません。そのため画面上のボタンなどをタッチすることはできません。

タッチパネルのないKYF37ではポインターが用意されていますが、Unity上だとこのポインターはうまく動作しません。

ポインターが上に来た時、マウスオーバーの動作をするようですがクリックできません。

ハードウェアキー

KYF37のハードウェアキーのうち、「発信キー」と「終話キー」は認識しません。(なにかしら認識させる方法はあるかもしれない……)

下3つのカスタマイズキーは長押しした際にファンクションキーとして認識していた。 「センターキー」は一度押すと「JoystickButton0」と「Joystick1Button0」として認識されており面白かった。

テキスト入力

残念ながらKYF37ではUnity上でのテキスト入力は難しそう。

正確にはテキストの入力は可能なのですが文字を消せません。

問題として「クリアキー」を押した際の動作として「Backキー」の扱いとなっており、文字を消すのではなく入力を中断する扱いになるからの様?

変換機能を使わず、自前でキーパッドでの入力システムを実装すれば何とかなるかも?

最後に作ったもの

KYF37のキー入力をUDPでHoloLens 2やWindowsPCに送って操作するコントローラーアプリを作りました!

テキスト入力の問題が発生したことや、Bluetoothを使った通信に変更するため今後の開発はAndroidStudioを使ってやってみようと思います。