fslashtの日記: やっぱり FOMA でキーボードを使いたい 2
WillcomのAvdanced/ZERO-3[es]が発表になりました。
従来機種より薄型になったことでかなりシャープな印象になりかなり物欲が沸きます。
画面サイズやCPU等、スペックもあがってるしね。
値段も新規契約で、29,800円と手ごろ。
でも、よくよく考えると出先でやりたいことは手持ちの携帯(Docomo SH902i)でほとんどすんでしまうんのでした。不満はが文章入力のみ。
もっともこの文章入力が大変なのが大きな問題なのですが・・・
携帯電話もあなどれなくて、画面サイズだってN904iなら480x854もあって、この新しいZero3より広いしね。
ネットワークもパケット定額に入ってるし、アプリも自作できる、ついでに通話もできるし。
あとは、キーボードさえ繋がればやりたいことは大体できるのに!
でも、FOMAシリーズは一部機種(M1000)を除いて外付けキーボードすら対応していないんでした(たぶん、外部機器からの操作による迷惑メール送信の自動化を防ぐためだと思う)。
でも、あきらめきれないのでなんとかキーボードを繋ぐ方法を考えてみました。
※ 妄想なのでろくに調べずに書いてます。とりあえず手が届きそうな技術レベルで
● 大まかな方針
メーラーやブラウザなどの内蔵アプリは、そもそもキーボードに対応していない。
そこで、iアプリを使ってなんとかして外付けキーボードからのキー入力を受け取り、内蔵アプリに渡す。
しかし、直接内蔵アプリにキー入力を送り込むことはできない。
そこで、iアプリで入力されて文章を一旦クリップボードにコピーし、内蔵アプリに切り替えたあと、クリップボードからペーストするという操作を行う。
※ 携帯のマルチタスク機能により、内蔵アプリとiアプリを同時に起動し切り替えて使うことはできる。
● キーボードとのインターフェース
iアプリから制御できるI/Fとして赤外線通信ポートがある。
赤外線対応のキーボードからの信号を受信すればよいのではないか?
少なくともiアプリからは、OBEXで外部で赤外線通信が出来る。
生のTCPやUDPは使えたか不明。
OBEXは、画像や電話帳のようなファイル単位でデータを送受信するプロトコルなので、キー入力のように逐次データを送受信するのには向かない。
が、大きなファイルを送ると見せかけて、キー入力があったときだけパケットを送れば、(携帯側が変にバッファリングしてなければ)リアルタイムにデータを受け取れるんじゃないかな。ずっとパケットがこないと接続が切れてしまいそうなので、たまにダミーのデータを流すとして。
● iアプリ
内蔵アプリに直接キー入力できるわけではないので、iアプリ側である程度まとまった文章を入力・編集できる必要がある。
そのため、簡単なテキストエディターとしての機能を持たせる。
キーボードからの入力は、どのキーが押された/離されたという低レベルな情報しか来ないはずなので、その情報を元にテキストエディターにキーを入力する。
アプリ内でテキストボックスを用意してある程度はコントロールできるので、これが使えれば楽だけど、カーソル制御とか細かいことは出来たかなあ。
だめだったらテキストボックス自体をつくってしまえばいいか。
● かな漢字変換
携帯内蔵のかな漢字変換は利用できないので、自分で用意しないといけない。
手ごろなオープンソースのかな漢字変換プログラムを移植するか? とはいえ、これだけで大事業だなあ。プログラムサイズも辞書も巨大になりそうでiアプリで扱える限界を軽く超えそう。
変換はサーバでやろうかな。
ネットワーク経由で、サーバに「よみ」を送信すると変換候補が返ってくるというの。
レスポンスがかなり不安だけど、セッション張りっぱなしにして少しずつデータをやり取りできる方法がつかえたら、そこそこいけるかも。
iアプリで直接Socketって使えたんだっけ? HTTPで接続しか使ったことないぞ。POSTで制御情報をポツポツ送って、その間別セッションで応答データをポツポツ受信すればいいのかな。そもそもセッション複数はれたっけ?
サーバ側については、WindowsだったらプログラムからIMEを制御できるから難しいことはないはず。
● 内蔵アプリへの受け渡し
クリップボード経由しかないだろう。
iアプリからクリップボードに任意の文字列を格納ってできたかな?
出来なかったら、一旦テキストボックスに文字列をセットして、それをユーザーにコピーしてもらうことにでなんとかはなる。
● 肝心のキーボード
上記のような感じで、携帯側はiアプリでなんとか作れそう。
問題は、キーボードだなあ。
iアプリで、ORBXでしか赤外線通信受信しないといけないとなるとキーボード側も対応してないといけないけど、そんなキーボードなんて聞いたことはないぞ。
自作?
小型のPS/2キーボードを改造してマイコン載せて、赤外線通信。
ORBXに対応した制御チップとかないかなあ。
何か、赤外線I/Fがついててプログラムの書き換えの出来るCPUが載ったキーボードがあればなあ・・・
そうだ! Avdanced/ZERO-3[es]なら、赤外線I/Fも載ってるしWindowsベースだから自作プログラムも動かせる。これを外付けキーボードとして使おう。
こんなぴったりな製品があるなんて!
NTTドコモならいっそのこと (スコア:1)
[無線LANもBluetoothもW-CDMA通信機能も付いてWindowsMobile5で動くキーボード付きのスマートフォン]
を選んだほうが幸せになれるんじゃないでしょうか。(方向性が違う!?)
一応、通信機能としてBluetoothがあるならこういう小細工も [vshopu.com]できますよ。
movaからFOMA70xシリーズに先日チェンジしたばかりなんですが、
こっちを買っておけば良かったかなとちょっと後悔していたり。
Re:NTTドコモならいっそのこと (スコア:1)
やっぱりビジネス用は用途違うですね・・・
日ごろの持ち歩きデバイスは1つにしたいから悩みます。
(ポケット1つ分ですませたい。それを越える分はどうせ鞄にいれるのでそれほどサイズはこだわらない)