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/