歩き遍路 平成19年春(J1) 記録の準備

Pic18F14k50のHIDKeyBoardでNumLockを点滅


 Pic18F14k50のHIDKeyBoardでNumLockを点滅させました。
 CapsLockの点滅は、元々実装されているので、それを真似てNumLockを点滅させました。
 元は、USB Device - HID - Keyboard v2015_08_10 です。

●実験の内容

 パソコンにPicキーボードとUSBキーボードを接続して、USBキーボードでNumLockを操作しました。
 すると、PicキーボードとUSBキーボードのNumLockランプが共に点滅します。
 NumLockランプの点灯の状況を、下の写真で確認できます。

 何故、PicキーボードとUSBキーボードのNumLockランプが共に点滅するのでしょうか?
 一台のパソコンに複数のキーボードを接続した場合、キーボード毎に動作が違うのを嫌ったからと思います。
 そこで、USBキーボードでNumLock押下した時の、Picキーボードのデータの授受を見てみます。
 都合で、PicキーボードのUSBケーブルのデータの授受しか見えなかったですが、下に示します。
 Addr5はUSBキーボード、Addr6はPicキーボードのデータです。
 USBキーボードでNumLock押下した時、PicキーボードとUSBキーボードにNumLockランプ点灯指令が送られています。これが、両方のキーボードのNumLockランプが点灯する理由です。



 


 



 



●プログラムの修正内容


 Picキーボードのプログラムの修正内容を次に示します。
 PicUSBのプログラムは、HIDRxPacket() で受信起動し、HIDRxHandleBusy() で受信を確認します。
 受信が確認出来れば、outputReport構造体の.ledsにnumLockが設定されてるか調べます。設定されてればランプを点灯します。
 そして、続けるためにHIDRxPacket() で受信起動をします。





 






ホームへ戻る