HID scanner demo

Dependencies:   BLE_API WIFI_API_32kRAM nRF51822 mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers HIDService.cpp Source File

HIDService.cpp

00001 #include "HIDService.h"
00002 
00003 const uint8_t KeyboardReportMap[] =
00004     {   0x05, 0x01,                 // Usage Page (Generic Desktop)
00005         0x09, 0x06,                 // Usage (Keyboard)
00006         0xA1, 0x01,                 // Collection (Application)
00007         0x05, 0x07,                 //     Usage Page (Key Codes)
00008         0x19, 0xe0,                 //     Usage Minimum (224)
00009         0x29, 0xe7,                 //     Usage Maximum (231)
00010         0x15, 0x00,                 //     Logicagl Minimum (0)
00011         0x25, 0x01,                 //     Logical Maximum (1)
00012         0x75, 0x01,                 //     Report Size (1)
00013         0x95, 0x08,                 //     Report Count (8)
00014         0x81, 0x02,                 //     Input (Data, Variable, Absolute)
00015         
00016         0x95, 0x01,                 //     Report Count (1)
00017         0x75, 0x08,                 //     Report Size (8)
00018         0x81, 0x01,                 //     Input (Constant) reserved byte(1)
00019 
00020         0x95, 0x05,                 //     Report Count (5)
00021         0x75, 0x01,                 //     Report Size (1)
00022         0x05, 0x08,                 //     Usage Page (Page# for LEDs)
00023         0x19, 0x01,                 //     Usage Minimum (1)
00024         0x29, 0x05,                 //     Usage Maximum (5)
00025         0x91, 0x02,                 //     Output (Data, Variable, Absolute), Led report
00026         0x95, 0x01,                 //     Report Count (1)
00027         0x75, 0x03,                 //     Report Size (3)
00028         0x91, 0x01,                 //     Output (Data, Variable, Absolute), Led report padding
00029 
00030         0x95, 0x06,                 //     Report Count (6)
00031         0x75, 0x08,                 //     Report Size (8)
00032         0x15, 0x00,                 //     Logical Minimum (0)
00033         0x25, 0x65,                 //     Logical Maximum (101)
00034         0x05, 0x07,                 //     Usage Page (Key codes)
00035         0x19, 0x00,                 //     Usage Minimum (0)
00036         0x29, 0x65,                 //     Usage Maximum (101)
00037         0x81, 0x00,                 //     Input (Data, Array) Key array(6 bytes)
00038 
00039         0x09, 0x05,                 //     Usage (Vendor Defined)
00040         0x15, 0x00,                 //     Logical Minimum (0)
00041         0x26, 0xFF, 0x00,           //     Logical Maximum (255)
00042         0x75, 0x08,                 //     Report Count (2)
00043         0x95, 0x02,                 //     Report Size (8 bit)
00044         0xB1, 0x02,                 //     Feature (Data, Variable, Absolute)
00045         0xC0                        // End Collection (Application)
00046     };