DIY PS/2 mouse


PS/2マウスの自作をやってみました。

ホスト側の自作はネットに一杯公開されてるのですが、自分の知る限りデバイス側を自作した人は居ないと思います。すでにいらっしゃったら教えてください。


回路図です。
AVRマイコンをMINI-DINコネクタと可変抵抗につないだだけ。とんでもなくシンプルです。
使ってるジョイスティック(可変抵抗)は共立のシリコンハウスの3Fで売ってるやつです。
(ADC0をX軸、ADC1をY軸につなぎます)
シリコンハウス
http://www.siliconhouse.jp/


上下左右にレバーを倒すとマウスカーソルが動きます。
Z方向に押すと左クリックになります。

写真。
http://photos.yahoo.co.jp/ph/takuyamatsubara/lst?.dir=/8b47&.src=ph&.view=

動画。グダグダです。
http://www.youtube.com/watch?v=mB34genn8JM
後半がオマケ映像です。PS/2マウスのホスト側の自作(LEDドットマトリックスのお絵かき)をやってます。

http://sourceforge.jp/projects/nicobasic/releases/
ソースです。フリーソフトです。動作無保証。
他のパソコンで動かない可能性がかなり高いのでご注意ください。


この技術をどうするかというと、、、特に用途は思いつきません。
ジョイスティックは部品として面白いので、ロボットの制御とかゲームに使いまわしがきくと思います。

              • -

技術的なことの補足

動作はWindows95の入ったNECのノートパソコンでチェックしました。
通信内容をモニタしたところ、起動時にパソコンからデバイスへ送ったデータは次のようになりました。内容は使用するパソコンやOSによって違うと思います。

EC  ラップモード停止
FA  *謎
F6  デフォルト設定
F5  レポート停止
F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1 *謎
F6  デフォルト設定
F5  レポート停止
F6  デフォルト設定
F5  レポート停止
F314 サンプリングレート設定 (20)
F1  *謎
E803 レゾリューション設定(8count/mm)
E6  スケーリング設定
F328 サンプリングレート設定(40)
F4  レポート開始

、、、0xF1と0xFAがデバイスへ送られてきたのですが、どの資料にも載ってない未対応のコマンドでした。これで6日くらい悩みました。
現状では、0xFE(retry)と0xFC(error)を返しています。