Palm折り畳みキーボードをPS/2化する

はじめに

2001年末に衝撃の値下げをしたPalmポータブルキーボード(Vx用)をPS/2化してみました。しかし、トラップさん日記を読んでいてびっくり。鈴木さんという方がすでに同じことをされていました。制作に当たっては、トラップさんの4つ折りキーボード接続計画と鈴木さんの制作記事を全面的に参考にさせていただきました。通信プロトコルなどの技術情報も非常に詳しく書かれていますので、私の出る幕はありません。(笑)

制作

回路図

固定兼放熱クリップ 断面を綺麗に 終了

マイコンはC8051F300を空中配線します。小さいのでハンダ付けは困難を極めます。吹いて飛ばないように目玉クリップで固定するのがおすすめです。これはハンダ付け時の放熱板としても重宝します。配線には0.4mm以下のウレタン線を使用します。手持ちのニッパーでは切断面が斜めになってしまい、ハンダ付けしにくかったので、ナイフで切断して断面を平面にします。

基板

キーボードとPalmをドッキングする部分を分解し、フレキシブルケーブルをむき出しにし、空いたスペースにあわせて基板を加工します。完成した基板はエポキシ接着剤で固定します。

コネクタ 裏側

ピンヘッダをコネクタにします。メス側はケーブルをハンダ付けした後、エポキシパテで固めました。

ファームウェア書き込み

Linux上でファームウェアを書き込みます。書き込み中は、信号線を遮断して電源のみ供給するアダプタを介して、PCと接続します。

ファームウェア


palmkb.tar.gz

HEXファイル palmkb.hex が入っていますので、書き込むだけなら開発環境は不要です。再コンパイルする場合はSDCCが必要となります。

PS/2キーボードにあってPalmキーボードに付いていないキーがたくさんあります。とりあえず下表のように配置しました。

PS/2キーボード Palmキーボード
Esc Fn+スペース
F1 Fn+1
F2 Fn+2
F3 Fn+3
F4 Fn+4
F5 Fn+5
F6 Fn+6
F7 Fn+7
F8 Fn+8
F9 Fn+9
F10 Fn+0
F11 Fn+-
F12 Fn+\
PrintScreen 予定表
ScrollLock Fn+BS
Pause アドレス
半角/全角 メモ帳
Insert Fn+Del
Home Fn+←
End Fn+→
PageUp Fn+↑
PageDown Fn+↓
NumLock Fn+CapsLock
無変換 Cmd
変換 Space
カタカナひらがな ToDo
Fn+/
NumPad 0 (NumLock) M
NumPad 1 (NumLock) J
NumPad 2 (NumLock) K
NumPad 3 (NumLock) L
NumPad 4 (NumLock) U
NumPad 5 (NumLock) I
NumPad 6 (NumLock) O
NumPad 7 (NumLock) 7
NumPad 8 (NumLock) 8
NumPad 9 (NumLock) 9
NumPad / (NumLock) 0
NumPad * (NumLock) P
NumPad - (NumLock) ;
NumPad + (NumLock) _
NumPad Enter (NumLock) @

余談

もしこれを作りたいという方がいらっしゃったら、無理してキーボード内に回路を作り込む必要は無いです。専用基板を作れる方ならC8051F300も面白いですが、どうせ専用ケーブルで接続することになるので、外付けの小さな変換ボックスを用意して、その中にマイコン回路を作った方がいいでしょう。AVR AT90S2313あたりでやるのが作り安くて現実的だと思います。