Multiple HID services - what are essential HID characteristics

Hi guys. May I ask some questions regarding ble_app_hids_keyboard_pca10056_s113 project from 17.1.0 nRF5 SDK:

From my previous question,

 RE: HID report map data size limit? 

I have a HID report descriptor exceeding 512 so I'm planning to create multiple HID services by modifying the ble_app_hids_keyboard_pca10056_s113  example, like HID A / HID B / HID C

In the ble_app_hids_keyboard_pca10056_s113  example, there are

2A4E Protocol mode

2A4B Report map

2A22 Boot keyboard

2A4D Report (Input, output, feature total 3 characteristics)

2A4A HID info

2A4C HID control point

For other HID services, I expect report map and report characteristics should be added. What about Protocol mode / HID info / HID control point?

Should every HID Service have Protocol mode / HID info / HID control point to work properly with iOS / Android / Windows / Linux devices?

Curious whether these are mandatory. Thanks for your help!

Related