I'm using the nRF Desktop sample and I saw that it is sending two reports on mouse button/keyboard key press (not release). This seems to be because HIDS_SUBSCRIBER_PIPELINE_SIZE is defined as 2. The comment on this says:
/* To ensure that new report data is sent in every connection event, stack need to be fed with * two reports because we get information that submitted report was sent in a subsequent * Bluetooth LE connection event. */ #define HIDS_SUBSCRIBER_PIPELINE_SIZE 0x02
Please could you explain this further, as I don't understand why it needs to send 2 "press" reports (but only 1 release report)?