Android/Keybord

TK-FBP017EBK

iPhone用キーボードだがBluetooth/HIDプロファイルに対応したAndroid端末からも接続可能。

接続方法とちょっとしたチューニング例を下記に示す。

接続方法(F-12C)

まず、TK-FBP017EBKの右上のスイッチで電源ON


するとF-12C側でデバイス検出できるようになっているので確認する。

 設定 > 無線とネットワーク > Bluetooth設定 > スキャン

でTK-FBP017EBKが現れる。


次にペアリングを行う。TK-FBP017EBKの左上のBluetoothマークのあるボタンを押してペアリングモードにして、 すかさずF-12CでTK-FBP017EBKを選択する。 そうするとPINコードの入力が促されるのでソフトウェアキーボードで「1234」と入力。


続いてTK-FBP017EBK側でもPINを入力。 キーボードで直接「1234」と入力後に「Enter」を押せば良い。


ペアリングが成功すると接続されたとメッセージが表示され、キーボードからの入力が可能となる。 但し、「Delete」キーや「Ctrl+X,C,V」などは標準では利用できないようだ。


しかし、Android(F-12C)がrook化されていれば次の手順で「Delete」キーは使えるようになる。


キーコード修正

キーアサインが想定と異なる場合、Linuxではキーマップファイルの書き換えで対応できる。 Android(F-12C)でも端末側のキーマップの修正で「Delete」キーを有効化できないか検討してみる。


ネットを調べてみたところキーマップファイルは接続するキーボードによって異なることが分かった。 設定ファイルがわからなくともデフォルトのファイル(F-12Cの場合は qwerty.kl)を書き換えれば多分大丈夫。TK-FBP017EBKのキーコードは調べてないが、Linuxでのxevのようなイベント検知プログラムで調べられそう。


 1. イベント調査アプリ

  「KeyEventDisplay」というアプリでKeyEventsが調べられるようだ。KeyEventsの他にもLogcatやKernelの情報も取得できるようなので、全てにチェックをいれて実行しTK-FBP017EBKを接続すると下記のようなメッセージが表示された。

^ Logcat:       W/KeyCharacterMap( 462): Can't open keycharmap file 
^ Logcat:       W/KeyCharacterMap( 462): Error loading keycharmap file '/system/usr/keychars/ELECOM_TK-FBP017E.kcm.bin'. hw.keyboards.524291.devname='ELECOM TK-FBP017E' 
^ Logcat:       W/KeyCharacterMap( 462): Using default keymap: /system/usr/keychars/qwerty.kcm.bin 

  キーマップファイルが無いらしい。ということはTK-FBP017EBK用のファイルは「ELECOM_TK-FBP017E.kl」と「ELECOM_TK-FBP017E.kcm.bin」となる。ならばと両ファイルをデフォルトの qwerty.kl(kcm.bin)をコピーして作成して設定ファイルの雛形とする。


  ・/system/usr/keylayout/ELECOM_TK-FBP017E.kl

  ・/system/usr/keychars/ELECOM_TK-FBP017E.kcm.bin


 2. 「Delete」キーコード調べ

  「keyEventDisplay」を実行中にTK-FBP017EBKの「DELETE」キーを押すと下記が表示された。

^ KeyDown:      action=0 code=0 repeat=0 meta=0 scancode=111 mFlags=8 label='' chars='null' number='' 
^ KeyUp:        action=1 code=0 repeat=0 meta=0 scancode=111 mFlags=520 label='' chars='null' number='' 

  「DELETE」キーのコードは「111」のようだ。


 3. ELECOM_TK-FBP017E.klを修正

  最終行に下記を追加

key 111   DEL


 4. 確認

  キーボードを再接続して「Delete」キーが機能することを確認。 バックスペースとして扱われるようで使い勝手が非常によくなった。


※上記の同じ方法で、CapsLockをCONTROLキーとして設定してみたが機能しない。原因不明。



---
update at 2018/03/02 22:04:51

※注:当サイトは特定環境において確認できた事象のみを記述しています。他の環境での動作は一切保証しません。