« 2018年5月 | トップページ

2018/06/02

Gemini PDAのキーボードをカスタマイズする(root権限不要)

Gemini PDA USキーボード版ですけれど、大変気に入って毎日使っています。


ちょっと気になるのは、ハイフンや長音をFn+oで打鍵しなければ入らないのが面倒に感じることです。
もちろん、root権限付きのファームを書き込めば、keylayoutも、keycharsも好きなように書き換えできるわけですけれど、最近のAndroid端末はrootを取らなくても普通に使えることが多いので、root権限なしの標準ファームでいいやと思っているところです。


さて、非rootでキーボードのキーカスタマイズする方法として、Andorid4.1から、User-installable keymapsという仕組みでユーザーがインストール可能なキーボードマップをサポートするようになりました。日本語109キーボードを外付けで使うときに便利になったあの機能です。

この機能を利用して、Gemini PDAのキーの入れ替えができるはずです。アプリを作る必要はありますけれど、y10gさんがそのものずばりのソースを公開してくれていますので、これを参考にすればなんとかなるかもしれません。

公式のデベロッパーガイドでも、丁寧に説明があります。よくわかりませんけれど、たぶんなんとかなるでしょう。

というわけで、まずはAndroidの開発環境を作ってみます。今はAndroid Studioっていうのがあるのか、初めてダウンロードして入れてみます。


20180601

インストールが終わると、早速作ってみる感じです。

20180601_1


なんだかわかりませんけれど、初めてのアプリの作成ガイドの通りにやってみます。


20180602_1


チュートリアルが分かりやすいです。アプリの名前は「chgkey1」とかにして試してみるかな。
自分のドメインを入れます。公開しなければ、なんか適当なユニーク文字列でもいいかもしれません。(このドメインはアプリの特定のために、後でドット区切りを逆の順番に並び変えて記述します)

20180602_2

4.1以降の機能を使うし、はなからGemini PDA用です。ヌガー以降にしておこう。Andorid対象バージョンは7以降を選びます。


20180602_3

何も考えずに表示されたEmpty Activityのまま次へ進みます。Finishボタンを押して終了です。

ふむふむ。あっという間にhello worldアプリが一行のコードも書かずにできました。すごいな。Javaを全く書かなかったぞ。


さて、キーボードのキー入れ替えのアプリを作ります。hello worldアプリにちょっと手を加えるだけですみます。
y10gさんありがとうございます!感謝です。


いじるのは、
AndroidManifest.xml
と、
res/values/strings.xml
です。

追加したのは、
res/values-ja/strings.xml
res/xml/keyboard_layouts.xml
res/raw/chgkey1.kcm
です。

javaのコードは一行も書きません。xmlいじったのと、キーのキャラクター指定ファイルを置いただけなのです。

なんて簡単なんだ。


アプリ自体は自動生成されたHello World表示アプリですけれど、肝はユーザー作成のキーボードレイウトファイルを使えるようにしてインストールする指定をXMLで追記していることです。これだけで、サンプルアプリをインストールすれば標準の設定画面から物理キーボードのレイアウト選択画面で選べるようになるという寸法です。

まず、マニフェストに宣言します。公式デベロッパーサイトの該当ページのサンプルコードや、y10gさんのソースの通りです。 applicationタグの下に、receiverタグをサンプル通りに挿入すればおっけーです。

20180602_6


レシーバーで指定した@xml/keyboard_layoutsというリソースをresフォルダのxmlの下に放り込みます。
xmlフォルダごとファイルコピーすると、Android Studioから自動的に認識されました。

20180602_7

つぎに、自分が放り込むキーボードレイアウトに名前を付けます。Andorid標準の設定アプリで、物理キーボードのレイアウト一覧を選ぶときに何という名前で表示するかの指定です。

20180602_8

res/values/strings.xmlはアプリの名前だけ書かれて自動生成されていました。ここに行追加します。


20180602_9


日本語で表示したい場合に、
res/values-ja/strings.xml
をコピーします。Android Studio上でヒントから編集していっても作れます。


あとは、肝心のキーボードレイアウトファイルです。
これは事前に作っておいたのを、
res/raw/chgkey1.kcm
というファイルでコピーしました。

ぼくはUSキーボードモデルです。このkcmもUSキーボード用で、一か所だけ「-」と「\」を入れ替える単純なものです。

日本語キーボードモデルは持っていないので作っていません。
Geminiキーボードアプリを、たぶんESファイルエクスプローラーあたりでapkにして、拡張子をzipに変えて、keyboard_layout_japanese_gemini.kcmあたりを抜き出してそれをカスタマイズすればいいんじゃないかと想像します。


ともかく、ぼくはよく使う長音を1キーで打ちたいために、バックスラッシュキーを押せばハイフンが出る、Fn+oを押せばバックスラッシュが出るという単純なキーの入れ替えだけのkcmファイルとしました。

ほかのキーレイアウトにしたときは、kcmファイルだけ書き換えて入れてビルドすればいいということです。
klじゃなくてkcmなので、装飾キーの入れ替えは制限がありま す。klはroot取って変更ですね。

さて、ビルドしてみます。

20180602_10

ビルド通りました。


20180602_12


デバッグ用のapkを作ってみます。
できました。なにそれこわい。
Dropbox経由でGemini PDAに入れます。提供元不明のあぶないアプリです。

Screenshot_20180602074337

セキュリティ設定を変更しないとインストールできません。やばいもんだな。後で設定戻しましょう。

Screenshot_20180602074402

特別なアクセス許可を必要としないそうです。


Screenshot_20180602074410


インストールできてしまいました。やばいね。

Screenshot_20180602074414

実行する必要はありません。キーボードレイアウトをインストールすることだけが目的のアプリなので。実行してもHello worldが表示されるだけですけれど。


Screenshot_20180602074442


設定から「言語と入力」「物理キーボード」を開きます。
ぼくはATOKを使っているのでタップします。キーボードレイアウトの一覧がずらずら出てきます。


Screenshot_20180602074458

でたー。やったー。

Screenshot_20180602074503

これでバックスラッシュとハイフンを入れ替えたキーボードになりました。

早速Jota+などで試してみます。


Screenshot_20180602074623


うまくいきました。

配布するapkを作るためには、署名してリリース用のapkを作るみたいです。ドメインや名前、住所、パスワードなどを入れ、署名してリリースapkを作ってみます。
ふむふむ、


できました。

apkです。

「chgkey-test20180601.apk」をダウンロード

ソースです。

「chgkey1_20180601.zip」をダウンロード

というわけで、また一つ快適になりました。

| | コメント (7) | トラックバック (0)

2018/06/01

Gemini PDA USキーボード版の標準レイアウト初期設定

Gemini PDAを2台初期化したので、キーボード初期設定の簡単な備忘録です。

USキーボードモデルの話です。

初回起動時にGoogleアカウント(メールアドレス)を登録するときに、@(アットマーク)がShift+2で出ません。
このときだけは、Fn+kで入力します。

そしてATOKを含む常用アプリのインストールが終わったところで、一度キーボードの設定をします。

Screenshot_20180530084708

Geminiキーボードというアプリが入っているので、それでまず自分のGemini PDAのキー配列を選びます。USキーボードモデルなので、日本語ではなく、English(US)を選びます。ここを間違えると、@(アットマーク)はShift+2ではなくFn+jあたりになってしまいます。

Screenshot_20180530084733

Geminiキーボードアプリだと、一度Geminiキーボードに切り替えないといけないので、その後ATOKの方で設定を確認してATOKに切り替えてしまいます。

Screenshot_20180528203105


アプリ一覧からATOKのアイコンタップで起動して、「ATOKを使える状態にするには」ボタンを押せば設定はわかりやすいです。

Screenshot_20180528203123

ATOKに切り替えます。


Screenshot_20180528203052

設定の物理キーボードの画面でこうなっていれば大丈夫です。

Geminiキーボードアプリがインストールされてさえいれば、「設定」の「言語と入力」「物理キーボード」「ATOK-日本語」からキーボードレイアウトを選択できると思いますけれど、そこでEnglish(US)を選ぶ、というだけの話です。


これが、Gemini PDAで自分の注文したキーボードレイアウトを指定する手順です。
今回は初歩的・標準的な話でした。


長音がFn+oなのは面倒だからカスタマイズしたい、でもroot取りたくないという話はまた次回。

| | コメント (0) | トラックバック (0)

« 2018年5月 | トップページ