SUNのキーボードの仕様を調べる。

さすがに10年以上前のキーボードなので通信仕様の資料が見当たらない。ぐぐれば断片的な情報もわずかに出てくるが、特に日本版Type5cキーボードは"かな"キーにLEDがついたりとか独特な仕様があるので情報が微妙にあてにならなかったりする。とりあえずLinuxのキーボードドライバのソース*1と、細かいところは現物合わせでしらべてみる。
さいわい電気仕様はネットで調べたら簡単にわかった。SUN Type5キーボードはRS-232風のシリアル通信で動いてるらしい。ただし+5V駆動なのでMAX232などのレベル変換ICは不要。代わりに論理反転の必要あり。74HC04とか手持ちがないのでTr+Rで反転。とりあえず通信内容を液晶に出せるようにして動きを調査してみた。

キーボードとの通信部分はこんなしょっぼい仕掛けでOK。通信内容も滅茶苦茶シンプルなんで悩むようなところはほとんどなさそう。
あとはこれにUSB出力をつければいい。ちょうど具合よくAVRのPD2〜PD6の5本がきれいに空いてるのでここにつければいいわ。しかし問題発生、ATtiny2313はフラッシュROMがたった2KBしかないがすでに1KB以上使っちゃった。残り1KBでUSB処理させるのは無理なのでもったいないけどATMega88あたりが要りそう。あと発振源だがマイジャンク箱には安いセラロックしかストックしてない。USBで安定通信するには水晶でないと精度不足らしいのでこれも新たに買ってこなきゃいけない。

...次回に続く

*1:SKBDCMD_GLAYOUTとかいう記号定数を定義してて、これをキーボードに送り込むシーケンスがある。キーボードをグレーアウトするとどうなるのかちょっと悩んだ。Get Layoutの略ってレベルじゃねえぞ!