初版: 2003-02-11
最終更新日:
2004-03-20
PS/2キーボードを接続するためのアダプタには、 Palmの周辺機器である、IrKB101かHappy Hacking Cradleを使います。 これらは、いずれもPS/2インタフェースを シリアルインタフェース(IrDA; 赤外線、あるいは有線RS232C)に 変換してくれるものです。
これらのアダプタは販売が終了してしまいましたが、 変換器を自作するというのも いいかもしれません(2004-03-08)。
IrKB101はTS1001Aというワンチップマイコンを、 Happy Hacking CradleはPICマイコン(PIC16C621A)を使っています。 参考文献を参考にして、 このようなインタフェースを自作することも難しくなさそうですね。
(2003/11)
また、PFUから発売されていた「Happy Hacking Cradle」を使うと、 有線シリアルでPS/2キーボードを接続できます…できそうです(笑)。
HHCは分解するとPIC一発(PIC16C621A)だったので、 自分でPIC使ったアダプタを作れるかも。 作れたら、ひさしぶりに 「トランジスタ技術」 に投稿してみるのも いいかな〜(笑)。
(2003/03)
Happy Hacking Keyboard Lite 2 |
AMiTY Keyboard |
PockeTop Keyboard と Targus Keyboard を入手しました。 どちらも、IrKB101と同様に9600bpsのIrDA形式でキーボードスキャンコードを 送信しています(38kHzキャリアの赤外線リモコン形式ではありません)。 キーボードスキャンコードは、PS/2、PockeTop、Targusの三種で 全く異なっています が、 ek3を改造すれば、いずれのキーボードにも対応可能のようです。 うまくいきそうだったら、またこのページで紹介します。
IrKB101やHHCのような、インタフェース変換器は販売が終了したようですが、 PS/2→RS232C変換器(案) や RS232C→IrDA変換器(案) を作れば、PS/2キーボードをシリアルインタフェースや赤外線ポート経由で 利用できるかもしれません。
・2004-02-14追記その2
ターミナル以外の任意のアプリケーションで 外部キーボードを利用できるドライバソフト 「ek3 (ek3-2004-02-14.tgz)」 を公開しました。 アーカイブには、ソース一式と実行形式が入っています。
・2004-02-14追記
ターミナル以外の任意のアプリケーションで 外部キーボードを利用するための前段階として、 「コマンドラインから指定した文字列を、キーボード入力に流し込む」 仮想キーボード (pseudo keyboard) プログラム 「pk」 を作成してみました。
・2003-11-01追記
Linux Conference 2003 で発表したのを機に、 ソースを公開 しました。
やっぱり、Input Methodの仕組みなどをつかって、 「ターミナル限定」でなくても使えるようにすべきですねぇ…。
・2003-04-26追記
最近、ソフト自体には手を入れていません…(爆)が、 本ドライバに関して、 日本ユニックスユーザ会(jus)の研究会で発表を行いました。 その中で、「マウスには対応できないの?」という質問をいただきました。 これについては、 参考文献にPS/2マウスの話も出ていましたし、 VNCなどの仕組みと組み合わせれば使いやすいシステムができるのではないか という気がしています。 これを実現するには、PS/2キーボード+PS/2マウスの信号をRS232Cなどに 変換するPICマイコンを使った変換回路を作ればいいでしょうね。 いきなりPICマイコンの回路を作るのは面倒くさいので、 とりあえずは、PCでキーコードその他の変換を行うソフトを書いてみて、 動作全体の検証を行うのが先でしょうか。
研究会などで「生」で発表を行うと、参加された方々から直接、 貴重な意見をいただけるのがうれしいですね:-)。
・2003-03-30追記
PS/2キーボード+IrKB101ドライバは、 2003/02/20版から変更していません(^^;が、 「VNCサーバの仕組みを流用すれば、 比較的簡単にユーザプロセスからQtにキーコードを送り込め (つまり、ターミナル限定ではなく、 Qtの任意のアプリケーションで外部キーボードが利用できるようになる)そうだ」 ということを、このページをご覧になられた方から ご教授いただきました。 このような貴重な情報を頂戴してうれしく思います(^^)。
いつになったらできるかは、例によってわかりません(^^;が、 任意のアプリケーションで外部キーボードが利用できれば、 確かに非常に便利ですので、 そういった拡張をやってみたいなぁと思います。
とりあえず現状 (2004-02-14) はこんなもん↓です(笑)。
とりあえず現状 (2003-02-20) はこんなもん↓です(笑)。
とりあえず現状 (2003-02-17) はこんなもん↓です(笑)。
% ek2 -help Usage: ek2 [option]... [device] options: -raw: RAW keyboard (no conversion) mode -sjis: SJIS conversion mode -irkb101: IrKB101+PS/2 mode -IrKB101: IrKB101+PS/2 mode without initialize -cradle: Happy Hacking Cradle+PS/2 mode -#: set serial speed [bps] default: ek2 -9600 -sjis /dev/cuaa1内蔵ターミナルとqpe-embeddedkonsole-jaに対応しています。 本体キーボードでは入力できない(…多分できないと思う) Ctrl-@(Emacs系のset-markに対応)や Ctrl-\(CannaやEggの日本語モード切り替え)などが使えるようになるので、 とっても快適です:-)。
とりあえず現状 (2003-02-16) はこんなもん↓です(笑)。
% ek2 -help Usage: ek2 [option]... [device] options: -raw: RAW keyboard (no conversion) mode -sjis: SJIS conversion mode -irkb101: IrKB101+PS/2 mode -IrKB101: IrKB101+PS/2 mode without initialize -hhc: Happy Hacking Cradle+PS/2 mode (Not YET) -#: set serial speed [bps] default: ek2 -9600 -sjis /dev/ttyS1カーソルキー、ファンクションキーなど、HHKBのキートップにない キーは入力できません。 わたし自身があまり使わないキーはサポートしません。
とりあえず現状 (2003-02-11) はこんなもん↓です(笑)。