passive log strage

バイク , モバイルガジェット , アウトドア用品 , 腕時計 ・・・等。

外付けUSBキーボード

キーボード内蔵機のWS020SHで外付けキーボードは必要か?というと、まとまった文章の入力や、落ち着いた場所でのメールなんかではやっぱりほしいときがある。荷物が増えることを考えれば普段から持ち歩くものではないけれど、USBキーボードならPCにも使い回しが利くので、コンパクトキーボードを入手してみた。

オウルテック OWL-KB77U/P(B)E 英語77キー スーパーミニキーボード

Owltech キーボード OWL-KB77U/P(B)E。PC量販店にて3280円。ASCII配列で超小型キーボードを探していたらこれになった。

面積サイズもそうだが、厚さがかなり薄い。作りは安っぽいがそのわりに重さがある。ただ、安定したタイピングを行うならもっと重い方が安定するんじゃないだろうか。それから滑り止めのゴム足はついているものの手前側だけなので平坦なところでないと滑ってしまう。チルトできる足がないのも残念だが、これは薄さを重視したことの引き替えだと納得できる。

ハードウェア的にはなかなかよいものだが、WindowsMobile用ドライバが無いので上部のアプリケーションキーは使えない。
一番問題で予定外だったのが、そのままではキーアサインが違い使い物にならないことだった。
WS020SHの内蔵キーボードは日本語JIS配列に準拠しているらしい。キーコードもこれに準じており、ASCII配列のUSBキーボードを接続しても一部のキーを『誤解して』入力される*1。PCならキーボードドライバを切り替えることで対処できるが、WindowsMobileにはこのようなUSBドライバが見つからなかった。内蔵キーボードがASCII配列に準じている海外のWindowsMobile機であればそのまま使えるようなのだが、WS020SHをはじめWILLCOMのWS***SH系列スマートフォンは全部JIS配列準拠らしい。

対処法としては em1key を導入して、入力キーコードを削ぎ変えてやるというものがある。em1keyは起動したタイミングでキー設定iniを読み込み、終了するまでキーコードを切り替える常駐型アプリ。
キー設定のiniファイルのサンプルが豊富で、ASCII配列のUSBキーボード用の設定ファイルも雄志によって作成済みなので導入は簡単だった。

ところがこれにも問題があり、常駐している間はつねに有効になるので、起動中は内蔵キーボードのキーコードまで削ぎ変えてしまう。
つまり『USBキーボードを差して使っているあいだだけ常駐』しておけばいいのだが、現在常駐しているかどうかがわからないので、うっかり常駐解除しわすれたまま、USBキーボードを外して、いざ内蔵キーボードで入力しようとして「???」となることが多い。
本来 em1key はその名の通りEM ONEの内蔵キーボードのカスタマイズ用アプリであり、スタートアップ項目にいれておいて再起動されるまで常駐させることを想定している。外付けキーボードに対応させるのは想定外なので仕方がない。

究極的には、USBキーボードの接続を見張ってキーコードの削ぎ変えを行うアプリケーションを自分で作る、ところまで考えたものの、開発環境*2がない現状では、そこまでするのもちょっとなんだかなぁ、といったところだ。

ASCII配列を選んだのは単純に自分の好みだったのだが、USBホストアダプタをつないでキーボードをつないで、さらにem1keyを起動・停止する手間を考えると、「もうJIS配列でもいいかなぁ」などとプログラマとしてはダメダメなことを考えている。

*1:わかりやすいのがJIS配列で「れ」のキー

*2:MSの.NET+WindowsMobileの開発環境って有料なんだよなあ。