Hirofumi Otori / Mbed 2 deprecated BLE_AndroidShortCutKey

Dependencies:   BLE_API mbed nRF51822

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         0x29, 0xA4,                 //     Usage Maximum (0xA4)
00038         0x81, 0x00,                 //     Input (Data, Array) Key array(6 bytes)
00039 
00040         0x09, 0x05,                 //     Usage (Vendor Defined)
00041         0x15, 0x00,                 //     Logical Minimum (0)
00042         0x26, 0xFF, 0x00,           //     Logical Maximum (255)
00043         0x75, 0x08,                 //     Report Count (2)
00044         0x95, 0x02,                 //     Report Size (8 bit)
00045         0xB1, 0x02,                 //     Feature (Data, Variable, Absolute)
00046         0xC0                        // End Collection (Application)
00047     };
00048     
00049 const uint8_t KeyboardReportMap2[] =
00050     {   
00051     0x05, 0x01,                    // USAGE_PAGE (Generic Desktop) // 47
00052     0x09, 0x06,                    // USAGE (Keyboard)
00053     0xa1, 0x01,                    // COLLECTION (Application)
00054     0x85, 0x02,                    //   REPORT_ID (2)
00055     0x05, 0x07,                    //   USAGE_PAGE (Keyboard)
00056    
00057     0x19, 0xe0,                    //   USAGE_MINIMUM (Keyboard LeftControl)
00058     0x29, 0xe7,                    //   USAGE_MAXIMUM (Keyboard Right GUI)
00059     0x15, 0x00,                    //   LOGICAL_MINIMUM (0)
00060     0x25, 0x01,                    //   LOGICAL_MAXIMUM (1)
00061     0x75, 0x01,                    //   REPORT_SIZE (1)
00062     
00063     0x95, 0x08,                    //   REPORT_COUNT (8)
00064     0x81, 0x02,                    //   INPUT (Data,Var,Abs)
00065     0x95, 0x01,                    //   REPORT_COUNT (1)
00066     0x75, 0x08,                    //   REPORT_SIZE (8)
00067     0x81, 0x03,                    //   INPUT (Cnst,Var,Abs)
00068     
00069     0x95, 0x06,                    //   REPORT_COUNT (6)
00070     0x75, 0x08,                    //   REPORT_SIZE (8)
00071     0x15, 0x00,                    //   LOGICAL_MINIMUM (0)
00072     0x25, 0x65,                    //   LOGICAL_MAXIMUM (101)
00073     0x05, 0x07,                    //   USAGE_PAGE (Keyboard)
00074     
00075     0x19, 0x00,                    //   USAGE_MINIMUM (Reserved (no event indicated))
00076     0x29, 0x65,                    //   USAGE_MAXIMUM (Keyboard Application)
00077     0x81, 0x00,                    //   INPUT (Data,Ary,Abs)
00078     0xc0,                          // END_COLLECTION
00079     };