7 Replies Latest reply on Nov 12, 2019 9:39 PM by ChTs_3160931

    BLE Hid keyboard + volume

    ChTs_3160931

      BLE HID Keyboard Exampleをベースにkey volume制御を追加(複合デバイス)したいです。

      Configure BLE内でどのように追加したらいいでしょうか?

       

      Profiles内の構成があまりよくわかっていません。

      Report mapを追加してvolumeのReportを追加するだけでいいのでしょうか?

        • 1. Re: BLE Hid keyboard + volume
          TakashiM_61

          申し訳ございません。

          現在、社内で確認しております。

          確認終了次第、ご連絡申し上げます。

          • 2. Re: BLE Hid keyboard + volume
            TakashiM_61

            key volume制御の追加についてですが、

            BLE HIDで、consumer control button(volume up/down) dataをHID Server Report mapに宣言する必要があります。

            次に下記図の通り、volume report informationを追加してください。

            Volume_control.PNG

            これで、volume up/down機能がHIDに追加されます。

             

            下記プロジェクトはHIDデバイスにkeyboard + consumer control buttons(volume up/down) を追加したサンプルプロジェクトになります。“BLE_HID_Keyboard”がベースのプロジェクトです。

            一度参考にしてください。

            • 3. Re: BLE Hid keyboard + volume
              ChTs_3160931

              参考に追加はしてみたのですが、動作できませんでした。

              ハードの仕様がVolumeUpボタンを押すと1上がり、VolumeDownボタンを押すと1下がる仕様なのですが、

              Report内にUSAGE(Volume Increment),USAGE(Volume Decrement)で記述しなければならないなどの制約はありますか?

              • 4. Re: BLE Hid keyboard + volume
                TakashiM_61

                回答が遅くなり、申し訳ございません。

                お出ししたサンプルプロジェクトですが、再度確認したところ、Windows OSでのみ動作いたしませんでした。

                ほかのOS (Android OS, Raspberry pi OS) の端末では動作しております。

                現状、Windows OSで動作しないのか確認中です。

                 

                以上、宜しくお願い致します。

                 

                • 5. Re: BLE Hid keyboard + volume
                  ChTs_3160931

                  > ほかのOS (Android OS, Raspberry pi OS) の端末では動作しております。

                  こちらの現象も確認しております。

                   

                  その後いろいろ試行錯誤して、windowsでも一応動作はさせることができました。

                  正しいかどうかはわかりませんので添付ファイルを参考にご確認頂ければと思います。

                  変更点としましては、KeyboardのレポートIDが0→1、Volume IncrementとDecrementを追加しました。

                  1.png2.png

                  • 6. Re: BLE Hid keyboard + volume
                    TakashiM_61

                    確認しました。

                    下記、英語で申し訳ございませんが、ご確認ください。

                    下記の中で、#1は既に変更された内容と認識しております。

                     

                    1. Please change the input data 0x80 to 0x81 in the INPUT item in Report Map. Because INPUT item with 0x80 says that there is no data.

                    2. For an Input item: 0x1000 - 8d says it is input

                                          0x00 nn says the size of the data

                    3. If nn is 1, 0x81 follows with one byte. When nn is 0, there should not be any byte after 0x80. In general, windows follows the spec strictly. This may be reason that 0x80 is not working in windows and working in other OS(Android, Raspberry pi).

                    4. Please refer to the attached BLE HID volume control project which works on Windows OS.

                     

                    以上、宜しくお願い致します。

                    • 7. Re: BLE Hid keyboard + volume
                      ChTs_3160931

                      プロジェクトありがとうございます。

                      動作の確認はしていませんが、検証する余裕がないため一度クローズしたいと思います。