Changing ble_app_hids_mouse for trackpad application

Hello guys. I'm helping a customer to work with a trackpad application using the nRF52840 and the nRF5_SDK_17.0.2_d674dde.

For this customer, she wants to use Microchip's touchpad solution (like https://www.microchip.com/en-us/solutions/machine-learning/smart-human-machine-interface)

and add nRF for BLE HID. Since the rep_map_data[] already has the mouse buttons, scroll/pan, mouse motion, advanced buttons (play pause volume down up etc),

I thought I simply need to call mouse_movement_send() - ble_hids_inp_rep_send(INPUT_REP_MOVEMENT_INDEX, INPUT_REP_MOVEMENT_LEN), using the trackpad as the parameter input.

First, for trackpads, do I need to change the rep_map_data[] or can I use it as it is?

We want to create a simple trackpad, like a mouse with volume control gestures, no keys/keyboard.

I was wondering whether a trackpad like this needs additional report map data during the initialization in hids_init().

Next, is it true that DIS - PnP characteristic is mandatory for wireless trackpad/mouse/keyboard applications?

Also, regarding DIS PnP,

PNP_ID_VENDOR_ID_SOURCE = 0x02 /**< Vendor ID Source. */
PNP_ID_VENDOR_ID = 0x1915 /**< Vendor ID. */

am I allowed to use these DIS PNP vendor ID values for this nRF product?

I'm slightly confused with this Nordic thread here  nRF52840 - USB Vendor ID and USB Product ID 

so I was wondering whether I have to register my own vendor ID.

 

Lastly, I want to check how to send a volume key. Is it ble_hids_inp_rep_send(INPUT_REP_MPLAYER_INDEX, INPUT_REP_MEDIA_PLAYER_LEN) ?

I read that I have to send a "mask" value to stop increasing or decreasing the volume so I need your help how to do this properly.

Thank you so much for your help!

REFERENCEs

https://www.bluetooth.com/specifications/specs/hid-over-gatt-profile-1-0/

https://www.usb.org/sites/default/files/hid1_11.pdf

Parents
  • Hello,

    This sounds like a solution that would require a driver from Microchip. I think you should reach out to them to ask what usb report maps they intended to be used with the trackpad that you are using.

    If they don't have anything to share, this is a more generic USB question than a Nordic Specific. Trust me, if I knew exactly how you needed to set up this report map, I would tell you, but I think you need to look at how report maps are built up and how they are used. 

    Best regards,

    Edvin

Reply
  • Hello,

    This sounds like a solution that would require a driver from Microchip. I think you should reach out to them to ask what usb report maps they intended to be used with the trackpad that you are using.

    If they don't have anything to share, this is a more generic USB question than a Nordic Specific. Trust me, if I knew exactly how you needed to set up this report map, I would tell you, but I think you need to look at how report maps are built up and how they are used. 

    Best regards,

    Edvin

Children
Related