ハードウェアを簡単にするため、マウスカーソルの動きはタクトスイッチで行います。
要するにファ○コンの十字キーの要領です。
プラス、マウスの左右ボタンの2つで、計6個のタクトスイッチを使います。
スイッチは10Kオームの抵抗でプルアップして接続しました。
このパネルをUSB-PDC-IOに繋ぎます。
全体はこんな感じ。
ファ○コンのパッドそのままです(;´Д`)
USB-PDCからは5Vしか引き出していないため、基板裏面に3.3Vのレギュレータを入れています。
とりあえず、今日はここまで。
I/Oポートの初期化と、割り込みでポートの状態を読む処理などを追加し、EZ-USBに転送!
‥‥‥それらしい動作はしました。
が、左ボタンを押しながらマウスカーソルを動かすと、左ボタンの押下状態が解除されます。
そう。ドラッグが出来ないんです(;´Д`)
カーソルの動きは、ボタンが押されていたら無条件で移動したとみなす。
これで解決。
試行錯誤の末、マウスカーソルの移動、ドラッグ、ダブルクリックなどが問題なく出来るようになりました。
ソースファイル
hid.lzh 3KBytes
回路図を書いてる時間がないので、例によって結線イメージを書いておきます(;´Д`)
カーソルの上下左右→PortBの下位4bit
左右キー→PortCの下位2bit