昨日(id:pgary:20071107#p4)はいつかは使うかなという気持ちでBluetooth関連のリンクを収集したのですが、前々からの伏線がここに来て急浮上してきて、結局Bluetoothキーボードを繋ぐところまでやってしまいました。いままでザウルスでBTはIBSのAdes用mini USB BTアダプター IMUB-01を購入した時にSL-C1000と702NKIIを繋いで通信すべく試してみて(id:pgary:20070830#p2)、結局うまくいかず放置してあったのですが、
- PDA×TPO@物欲狂抑鬱症(http://pdatpo.blog45.fc2.com/)にてeXpansys(http://www.expansys.jp/)でDELL stowaway BT keyboardが安いと聞いてつい購入→在庫の関係で1ヶ月以上かかったけど到着
- SL-C1000の予備機を8,800円で確保(id:pgary:20071013#p1)
- EBt for Windows開発中の噂を聞く(id:pgary:20071106#p1)
- 上記の2件の事情でEBt liteのデータの保持の不安が無くなり、EBtを本格的に使うことにする。
- FILCO PapillonをUSBケーブルで繋いで使ってみる。キーボードは打ちやすいがケーブルがちょっと邪魔かな。
- Bluetoothキーボード繋いでみるか。
というわけで始めてみました。一筋縄では行きませんでしたが、先人の方々の知恵を参考にさせていただくことで何とか使える様になりました。
まずは、magcupさんの「ZaurusでBluetoothファイル送受信成功」(id:magcup:20070930)という記事が2007/09/30と新しく、リファレンスとして非常に参考になりました。magcupさんはファイル交換を中心に設定されていますので、ありし日の気分(改)の「LinuxZaurus - BluetoothキーボードとBluetoothマウス」(http://sun.dhis.portside.net/~sakira/diary/?date=20061115)という記事でDELLのstowaway BT keyboardが使えているのを頼りにキーボードの設定を探していきました。
私はBTKBを繋ぎたいだけなので不要なものもあるでしょうが、まずはZaurusに下記のファイルをインストールします。magcupさんも書かれていますが配布元が消えてしまっているところも多く、ファイルを探すのが大変です。MacWinとっしゅ&Zaurusの「ZaurusとCF型Bluetoothカードでファイル交換を実現」(http://macwin.blog43.fc2.com/blog-entry-9.html)を経由して、「ZaurusでBluetoothを使う(その1)」(http://homepage.mac.com/tomorrows/zaurus/bt_01.html)、「ZaurusでBluetoothを使う(その2)」(http://homepage.mac.com/tomorrows/zaurus/bt_02.html)を参考にしながらファイルを探します。
Sharp PDA SL シリーズのページの「Bluetoothメモ2」(http://www.h5.dion.ne.jp/~rimemoon/zaurus/memo_005.htm)から
- bluez-kernel_2.4.18.mh7-1_arm.ipk http://www.h5.dion.ne.jp/~rimemoon/zaurus/data/bluez-kernel_2.4.18.mh7-1_arm.ipk.bin
- bluez-zaurus_2.3.0519-1_arm.ipk http://www.h5.dion.ne.jp/~rimemoon/zaurus/data/bluez-zaurus_2.3.0519-1_arm.ipk.bin
- bluepin_0.0.1-1_arm.ipk http://www.h5.dion.ne.jp/~rimemoon/zaurus/data/bluepin_0.0.1-1_arm.ipk.bin
をダウンロードする。
次に「Bluetooth関連パッケージ(SL-Zaurus用)」(http://homepage.mac.com/tomorrows/zaurus/bt_99.html)より、
- openobex_1.0.0-1b_arm.ipk http://homepage.mac.com/tomorrows/zaurus/ipk/openobex_1.0.0-1b_arm.ipk
- opd_0.2-1_arm.ipk http://homepage.mac.com/tomorrows/zaurus/ipk/opd_0.2-1_arm.ipk
- obextool_0.2-1_arm.ipk http://homepage.mac.com/tomorrows/zaurus/ipk/obextool_0.2-1_arm.ipk
をダウンロードする。
次のファイルは「Something Interesting Archives」で配布されていたものだけれど、Something Interesting Archivesが無くなってしまっているので、WayBack machineのアーカイブ(http://web.archive.org/web/20060820183617/http://gypsyblue.ddo.jp/cgi-bin/fswiki/wiki.cgi)から探してくる。
以下の二つは、magcupさんの記事を参考にダウンロードする。
- bluez-libs_2.23_arm.ipk www.pf-x.net/data3/bluez-libs_2.23_arm.ipk
- bluez-utils_2.23_arm.ipk www.pf-x.net/data3/bluez-utils_2.23_arm.ipk
以上9ファイルをインストール、すべてipkパッケージなのでインストールは簡単。
BTキーボードを繋ぐ設定はSomething Interesting Archivesの「Bluetooth Keyboardを使う その2」を参考にするのだが、消えているのでWayBack machineのアーカイブ(http://web.archive.org/web/20060822143935/gypsyblue.ddo.jp/cgi-bin/fswiki/wiki.cgi?page=Bluetooth+Keyboard%A4%F2%BB%C8%A4%A6%A1%A1%A4%BD%A4%CE%A3%B2)から見る。ちなみに私のC1000は、tetsuさんのスペシャルカーネル(http://tetsu.homelinux.org/zaurus/kernel/)v18iとmodules(http://tetsu.homelinux.org/zaurus/kernel/v18i/kernel-modules_v18i_arm.ipk)は導入済みである。
IBS JapanのBTアダプタをZaurusに挿入しブルーLEDが光っているのを確認、stowaway BTKBを開いて、Ctrl+左Fn+右Fn同時押しで検出モードにする。
# hcitool scan // でデバイスの情報取得
# l2ping -c 4 XX:XX:XX:XX:XX:XX // でデバイスとの接続確認
# sdptool browse XX:XX:XX:XX:XX:XX // でサービスの確認
# hidd --search // で自動的にHIDデバイスを探し出して接続
これで一応繋がっているのだけれど、キーを叩いてみると全く違う文字が入力される。「Bluetooth Keyboardを使う その2」のページのコメント欄を参考に「BlueZのセットアップ」(http://web.archive.org/web/20060822143912/gypsyblue.ddo.jp/cgi-bin/fswiki/wiki.cgi?page=BlueZ%A4%CE%A5%BB%A5%C3%A5%C8%A5%A2%A5%C3%A5%D7)のページから下記のファイルをインストールする。これはキーコードの変換テーブルの修正パッケージで、インストール後再起動したらメインの文字は化けなくなりました。記号類は日本語キーボードの配列になっているようで、stowawayキーボードの表記とは異なります。
- bluez-hidp_mh18_arm.ipk.C1000 http://web.archive.org/web/20060822143912/http://gypsyblue.ddo.jp/cgi-bin/fswiki/wiki.cgi?action=ATTACH&page=BlueZ%A4%CE%A5%BB%A5%C3%A5%C8%A5%A2%A5%C3%A5%D7&file=bluez%2Dhidp%5Fmh18%5Farm%2Eipk%2EC1000
自動化のため/etc/rc.d/init.d/bluetooth を編集すると書かれているので、このあたりの設定も変えてはみたけど、今のところ自動化には成功していません。使用する前に毎回 hidd --search を入力して接続しています。自動化は今後の課題です。
HCID_ENABLE=true
SDPD_ENABLE=true
HIDD_ENABLE=false // falseをtrueに変更する。
HID2HCI_ENABLE=falseif $HIDD_ENABLE && [ -x “$HIDD_EXEC“ ] ; then
insmod keybdev > /dev/null // この行を追加する。
$HIDD_EXEC $HIDD_OPTIONS --server || true
echo -n “ $HIDD_NAME“
fikillall $HIDD_NAME > /dev/null 2>&1 || true
rmmod keybdev > /dev/null // この行を追加する。
echo -n “ $HIDD_NAME“