HID Keyboard volumeキーについて

Tip / ログイン to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
ChTs_3160931
Level 3
Level 3
10 replies posted 5 replies posted 5 questions asked

HID Keyboardで拡張キーであるvolumeのUP(0x80)、DOWN(0x81)が利きません。

レポートディスクリプタなど何か追加することがありますか?

Aキー~Zキーは使用できる状態です。

0 件の賞賛
1 解決策
ChTs_3160931
Level 3
Level 3
10 replies posted 5 replies posted 5 questions asked

【自己解決】

HID Keyboard+ Volumeなどの複合デバイスはご指摘のサイトで作成できる。

AN58726 - USB HID Intermediate with PSoC® 3 and PSoC 5LP

https://www.cypress.com/documentation/application-notes/an58726-usb-hid-intermediate-psoc-3-and-psoc...

今回の件は複数のプロジェクトを作成していたため、PIDが混在しておりドライバが正しく認識できていなかったことが原因でした。

元の投稿で解決策を見る

0 件の賞賛
4 返答(返信)
Takashi_M
Moderator
Moderator
Moderator
1000 replies posted 500 solutions authored 750 replies posted

お使いのProjectがどのようなものかわかりませんが、

下記Application Noteはご覧になっていますでしょうか?

AN57473 - USB HID Basics with PSoC® 3 and PSoC 5LP

https://japan.cypress.com/documentation/application-notes/an57473-usb-hid-basics-psoc-3-and-psoc-5lp

AN58726 - USB HID Intermediate with PSoC® 3 and PSoC 5LP

https://www.cypress.com/documentation/application-notes/an58726-usb-hid-intermediate-psoc-3-and-psoc...

特に後者のAN58726ではVolume UPについて記載されております。

もし、ご質問に沿うものでない場合、ご連絡ください。

0 件の賞賛

AN58726を参考にはしているのですがボリュームが発行できない状態です。

ディスクリプタも同じように追加しているのですが…。

※Volume Controllerレポートを追加、Interface Descriptorを追加、HID Class Descriptorのレポートを指定。

main.c内で下記の関数の使い方がいまいちわからないのですが、

USBFS_1_LoadInEP

USBFS_1_bGetEPAckState

下記のサンプルのようにしてUSB_IN_Volume_Data=0x01などにしておけば

発行されるのでしょうか?

if(USBFS_1_bGetEPAckState(2) != 0)

{

     /*Function to control volume based on encoder status */

     Volume_Control();

     /*Loads EP3 to transfer data to PC */

     USBFS_1_LoadInEP(2, USB_IN_Volume_Data, 1);

}

これらを使う前に初期化する必要はありますか?

/*Begins USB Traffic for Volume Controller*/

USBFS_1_LoadInEP(2, USB_IN_Volume_Data, 1);

0 件の賞賛
ChTs_3160931
Level 3
Level 3
10 replies posted 5 replies posted 5 questions asked

【自己解決】

HID Keyboard+ Volumeなどの複合デバイスはご指摘のサイトで作成できる。

AN58726 - USB HID Intermediate with PSoC® 3 and PSoC 5LP

https://www.cypress.com/documentation/application-notes/an58726-usb-hid-intermediate-psoc-3-and-psoc...

今回の件は複数のプロジェクトを作成していたため、PIDが混在しておりドライバが正しく認識できていなかったことが原因でした。

0 件の賞賛

問題が解決されたとの事、安心いたしました。

また何かございましたら、CDCにお問合せください。

0 件の賞賛