とりあえず使えるようになったので。
初期化処理はもうちょっと見直したほうがよさそう。
探せばATMEGAやArduinoでの実装例が見つかるけど「PIC用にコピーリスペクトしただけなんじゃないの」と思われるのもアレなので、信号処理周りは独自に考えてみたつもり。と言っても19000bpsのシリアル通信に見立ててUARTモジュールに処理させただけ。
あと世の中の情報じゃ「1bitは50μs」って書かれてるページがほとんどだけど実際はもう少しだけ長くて52.6μsくらいのような気がする
EEPROMの 0x00, 0x7D-0x7F, 0x80 の領域を設定用に空けるために一部のキーのスキャンコードを移動しました。
Firmware Ver2.xまでで作成していた設定ファイルを使用する際は以下の変更(と、使用未使用にかかわらずFnキー設定方法の変更。後述)を行ってください。
sun
キー | 変更前 | 変更後 |
numpad + | 0x7D | 0x7C |
98
キー | 変更前 | 変更後 |
Esc | 0x00 | 0x57 |
右Shift | 0x7D | 0x75 |
fmr
キー | 変更前 | 変更後 |
COPY | 0x7D | 0x54 |
adb
キー | 変更前 | 変更後 |
A | 0x00 | 0x0A |
右Ctrl | 0x7D | 0x3F |
ps2
キー | 変更前 | 変更後 |
numpad 9 | 0x7D | 0x6F |
F7 | 0x80 | 0x98 |
Scroll Lock | 0x7E | 0x57 |
ファームウェア更新後、WindowsXPでアダプタが動かなく(キー入力が出来なく)なった場合の対応方法です。デバイスマネージャで
このように「USBヒューマンインターフェイスデバイス」に “!” マークが付いていたら次の方法を試して下さい。
“!” マークの付いた「USBヒューマンインターフェイスデバイス」 上でマウス右クリックでメニューを出して「プロパティ」を選択して下さい
プロパティウィンドウの「ドライバ」タブに切り替えて、「削除」ボタンを押して下さい。
ドライバが削除されるとデバイスマネージャから “!” の付いた「USBヒューマンインターフェイスデバイス」が消えます。
後はアダプタをUSBポートから一度抜いて、同じポートに刺しなおして下さい。ドライバのインストールが始まるはずです。ドライバのインストールが終わったらデバイスマネージャで USBヒューマンインターフェイスデバイスに “!” マークが付いていない事、およびキー入力が行える事を確認して下さい。
この作業は同様のエラーが発生するUSBポートごとに行って下さい。