Bluetooth HIDキーボードをデバイス本体にちゃんと認識させたい
ElecomのTK-FBP013というBluetooth HIDキーボードを持ってるので、何とかしてこいつをちゃんとBluetoothデバイスで繋いで扱いたいなぁなんて思ってる訳ですが…。色々となんか凄い問題だらけっぽい。
こちらのBlog記事で、どうやら色々とやってくださってるようなんですが…。
実は、以前、esmasuiさんの所のBimejiHID(http://d.hatena.ne.jp/esmasui/20100330/1269982062)を使った事がありまして、esmasuiさんに、A81Eで動作してますよ〜なtweetをしたことがあるんですが、実際使ってみると、Bluetoothデバイスは機器にちゃんと接続されていない形(ペア設定・非接続のまま)でなんとなーく動いてると言う感じな上に、スタックで実装されているので、一般のPCで扱う様なIMEの挙動と全然違うと言う事がありまして、結局使わなくなってしまったわけです。まぁ、この辺は自分の我儘なんで…。ホントスイマセン。
という事で、とりあえずちゃんとHIDデバイスとして、接続が可能なのかを色々と知りたいかったので、デバイスドライバ+Bluetooth接続設定でHIDキーボードを認識出来ないか、と探したところ、Slatedroid.comさんの所(http://www.slatedroid.com/nationite-midnite-android-tablet-discussion/7985-connecting-bluetooth-keyboard.html)にそんな記事がありました。
とりあえずそこに書いてあった手順を備忘録的に。
- AndroidObex(http://code.google.com/p/androidobex/)さんの所から、hiddファイル(HIDドライバ)をPCにダウンロード
- adb push /system/xbin/hidd
- adb shell chown system.system /system/xbin/hidd
- adb shell chmod 755 /system/xbin/hidd
- adb shell hcitool scan
- adb shell hidd --connect [Device MAC Adress]
あとは、なんか設定ファイル作っておいて、Bluetoothが繋がった時に上記のhidd --connectを実行してくれるやつをUpしておくと、Bluetooth接続時に勝手にちゃんと認識してくれる、という話…なんですが。
さぁ、いざConnect!とかすると、悲しい事にA81Eがうんともすんとも言わなくなってしまわれ…。デバッグしてみたところ、
- 11-30 18:22:00.445: ERROR/BluetoothEventLoop.cpp(1143): event_filter: Received signal org.bluez.Device:PropertyChanged from /org/bluez/1314/hci0/dev_[Mac Address]
- 11-30 18:22:01.359: INFO/tslib(1143): New keyboard: device->id=0x10003 devname='. Keyboard' propName='hw.keyboards.65539.devname' keylayout='/system/usr/keylayout/qwerty.kl'
という2つのメッセージを残してぷつんと反応が切れてしまうわけで…。
設定ファイルまでは行ってるっぽいんで、レスポンスが無いよというところなんでしょうか…