SWRA715 December 2021 CC2642R , CC2652R
The hid_emu_kbd project relies on report maps. Report maps are a structure used by the HOGP to implement the HID over Bluetooth Low Energy functionality. Report maps are used to tell the HID Host what functionality and what kind of data to expect from the HID Device. In the original HID USB specification, report maps are called report descriptors. Report maps and report descriptors are identical. The only difference between them is that report maps are used in HOGP and report descriptors are used in HID USB.
The report map used by this project can be found in the hidkbdservice.c file and is contained within the hidReportMap variable. The report map in this project contains all of the input information for the keyboard, mouse, and consumer reports. The structure is divided into sections and the application as well as the HID Host is able to find the desired section through the use of the Report ID field. The report map can be easily modified to include different inputs or to modify the inputs that are already there. The USB Implementers Forum’s Device Working Group has a Report Descriptor builder tool that can be used to create report maps easily.
Figure 4-1 shows a snippet of the report map structure. All fields are labeled and can easily be modified. For example, if a different amount of mouse buttons is desired, then the relevant fields can be easily updated.