2013年4月2日火曜日

[GoogleIME+ON/OFF]ほいっ


とりあえずできましたが、キートップ画像の入れ替えはとてもめんどくさいので、やめました。

なので、マーケットにはアップしません。
キートップ画像が無いのでのっぺらぼうですが、ここに置いておきますね。
https://www.dropbox.com/s/j4ax3f8ran6j729/MozcPlusOnOff.apk

チョット時間見つけてやるかもしれないし、やらないかもしれません。

Google日本語入力のオープンソース版Mozc(モズク)をちょっと弄ってビルドしただけです。
チョット弄った内容は、キーボードが表示されたときと消えた時にブロードキャストインテントを投げるようにしました。
分かりやすく言うと、今キーボード消えたよ~とかキーボード表示されたよ~とかって教えてくれる機能を埋め込みました。

ちょっと具体的に書くと
キーボード表示時:"open.android.intent.action.DISP_KEYBOARD"
キーボード非表示時:"open.android.intent.action.HIDE_KEYBOARD"

なんでこんなことをやっているのかというと、オーバーレイ系ランチャーの問題の中で鬱陶しいのが、文字入力中にアプリが起動しちゃう、いわゆる「誤爆」問題です。
「誤爆」が鬱陶しいので、せめてキーボード表示中だけでもマーカーが消えてほしいっていう要望(これは僕もだけど)からいろいろ工夫して作っていました。

僕の作った類似アプリで、キーボードON/OFFモニターってのがあるんですけど、これはアクセシビリティサービスっていうのを使って判断してます。
たとえば、今テキストボックスにフォーカスが当たっている=キーボードが出ている
テキストボックス以外にフォーカスが当たっている=キーボードが消えた

でも、これだと疑似的に判断しているだけなので、精度が悪いんです。
なので、チョコチョコ個別対応をしていました。

やっぱり、キーボードの状態はキーボードが発信するのが一番。
他のオープンソースのIME等にも実装していたんですが、IMEが変更されるストレスっていうのがものすごい有ってすぐに使うのやめちゃいいました。

で、でで、このたび、僕のメインIMEであるGoogle日本語入力がオープンソース化されたので、いろいろやってたってわけ。
キートップ画像が無いので、いろいろ試してたんだけど、数時間で出来る代物ではなさそうなので、ちょっとあきらめようかと思ってます。

ていうか、別にキーボードに文字書いてなくても普通に使えるし、僕的には何ら問題ないんですね。
なんと、この前のSwipeStarterのアップデートでマーカー毎のON/OFFが出来るようになったので、「キーボード表示時に下半分だけマーカーを消す」なんてことも可能!

素晴らしい。

良かったらのっぺらぼうだけど使ってみてください。
もしかしたら忘れたころにキーを貼り付けて公開するかもしれないけど。

SwipeStarter4.3から正式対応です。

0 件のコメント:

コメントを投稿