- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
HID Keyboardで拡張キーであるvolumeのUP(0x80)、DOWN(0x81)が利きません。
レポートディスクリプタなど何か追加することがありますか?
Aキー~Zキーは使用できる状態です。
解決済! 解決策の投稿を見る。
- ラベル:
-
PSoC 5LP
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
【自己解決】
HID Keyboard+ Volumeなどの複合デバイスはご指摘のサイトで作成できる。
AN58726 - USB HID Intermediate with PSoC® 3 and PSoC 5LP
今回の件は複数のプロジェクトを作成していたため、PIDが混在しておりドライバが正しく認識できていなかったことが原因でした。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
お使いの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
特に後者のAN58726ではVolume UPについて記載されております。
もし、ご質問に沿うものでない場合、ご連絡ください。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
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);
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
【自己解決】
HID Keyboard+ Volumeなどの複合デバイスはご指摘のサイトで作成できる。
AN58726 - USB HID Intermediate with PSoC® 3 and PSoC 5LP
今回の件は複数のプロジェクトを作成していたため、PIDが混在しておりドライバが正しく認識できていなかったことが原因でした。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- Permalink
- 印刷
- 不適切なコンテンツを報告
問題が解決されたとの事、安心いたしました。
また何かございましたら、CDCにお問合せください。