Androidでも日本語キーボードが使える。キーレイアウトファイル(要rooted)
Android に日本語キーボードをつなぐとほとんどの場合、英語キーボードとして認識されるんですが、これを JP 配列のままで使うためのキーレイアウトファイルを作ってみました。
USB / Bluetooth 両方の日本語キーボードに対応しています。
無駄なキー定義が多いですが、逆にほとんどの日本語キーボードで使えると思います。
実は、キー配列を変えられるIME を使うという手もあるんですが、このキーレイアウトを使えば ATOK や Google 日本語入力や Simeji など、好きな IME を日本語キーボードで使う事ができます。
今回の記事は、残念ながら、adb 等で /system 以下のファイルが触れる位の知識と rooted な Android が必要になります。
※ この記事は将来もこのURLで更新する可能性があります。うちのサイトはどのページもそのポリシーですけど。
何ができるようになるの?
Bluetooth / USB を問わず、日本語配列キーボードでキートップの刻印通りに英数記号が入力できるようになります。
例えば、以下のような文字ですね。
@ : ; [ ] { } ( ) _ \ …
ただ、これでかな入力ができるようになるわけではありません。
どの Android でも使えるの?
標準的な Android 4.0 用の設定がベースなので、Android 4.0 を使っている事が前提です。
ただ、未確認ですが、Android 3.X でもいけるような…動かなくても設定の参考にはなるはずです。
2.3 は不明です。
インストール方法
まずは↓をダウンロードし、解凍します。
https://www.teradas.jp/hiromo/storage/AndroidKeylayout/_Keylayout.zip
今後、全てのキーボードを JP 配列で使う。という場合は、以下2つのファイルを上書きするだけです。(※ 元ファイルのバックアップをお忘れなく!)
- /system/usr/keylayout/Generic.kl
- /system/usr/keychars/Generic.kcm
ただ、これをやってしまうと影響が大きいので、行儀よくしておきたい人にはオススメできないかも。
特定キーボードだけを JP 配列で使う場合は、キーボードの Vendor ID と Product ID を調べて、ファイル名を以下の様に変更します。
- Generic.kl → Vendor_<Vendor ID>_Product_<Product ID>.kl
- Generic.kcm → Vendor_<Vendor ID>_Product_<Product ID>.kcm
※ USB / Bluetooth キーボードの Vendor ID と Product ID は以下の方法で確認できます。
- Bluetooth キーボードの場合
https://www.teradas.jp/archives/3834/- USB キーボードの場合
https://www.teradas.jp/archives/3818/
あとは、先の2つのファイルを以下の場所に入れるだけです。
- .kl → /system/usr/keylayout/
- .kcm → /system/usr/keychars/
手元の環境では、再起動しなくてもキーボードの再接続だけで設定が反映されました。
このファイルの位置付けとか
Android 4.0 で言うところの Generic.kl とか Generic.kcm の日本語版みたいな位置付けになればいいなぁ。と。
ただ、僕も Android のキーマップには詳しくなく、Android 4.0 の Generic な設定を元に、手元の USB キーボード FILCO Mejestouch FKB108M/JB で使いにくい所をチクチクと修正して作った。という感じなので、検証はいるでしょうね。
キーレイアウトの作り方とかノウハウとか
別記事にキーレイアウトの作り方と各種情報へのポインタをまとめておきました。
適切なツールと資料、ベースとなる設定ファイルがあれば大した事ない作業と思います。
検索用キーワード:キーマップ, カスタマイズ, jp109, us 101/102 ホーム, メニュー, バック, 検索
※1 PS3用キーボード CECH-ZKB1JP はAmazonでのレビューは最悪ですが、後期型はキー取りこぼしも解消しかなり良い子になりました。まだ症状に悩んでいる方はサポートデスクに相談するのがよいでしょう。スティクポインタも付いているのでマウスカーソルも使えて面白い製品です。
※2 上記一覧には英語キーボードも含まれています。用途やお使いの機種との整合、特に、お使いの機種が Bluetooth HID に対応しているかどうかについてはよく確認の上、ご購入ください。
感想 says:
12年前
acer A700について、ダウンロードしたファイルを
「Generic.kl → /system/usr/keylayout/」「Generic.kcm → /system/usr/keychars/
」に置くと物理キーが認識しなくなるようです(Bluetooth)、キーボード内蔵のトラックボールは認識するため、装置自体は認識しています。