BLE遥控
1/ 配对
2、 开机广播
3、 按键扫描
4、 键值 映射
修改keycodeMap 为自定义按键 的 键值 。
static CONST keycodeMap_t keycodeMap[12] =
{
// 0b00 <KPb> <KPa>
// row mapped to P0 and P1
// column mapped to shift register controlled by P0 and P2
{ HID_KEYBPAD_MENU, USAGE_PAGE_GD }, // 0b00 10 1101 - 9
{ HID_KEYBOARD_HOME, USAGE_PAGE_GD }, // 0b00 10 1110 - 6
{ 0x66, USAGE_PAGE_GD }, // 0b00 10 1111
{ 0xf1, USAGE_PAGE_GD },
{HID_KEYBOARD_RETURN,USAGE_PAGE_GD },
{HID_KEYBOARD_UP_ARROW,USAGE_PAGE_GD},
{HID_KEYBOARD_RIGHT_ARROW,USAGE_PAGE_GD},
{HID_KEYBOARD_LEFT_ARROW,USAGE_PAGE_GD},
{HID_KEYBOARD_DOWN_ARROW,USAGE_PAGE_GD},
{ HID_KEYBOARD_VOLUME_DOWN, USAGE_PAGE_GD },
{ HID_KEYBOARD_VOLUME_UP, USAGE_PAGE_GD },
{ HID_KEYBOARD_RESERVED, USAGE_PAGE_GD }, // 0b00 10 1111
};
5、 键值范围
Hidkbmservice.c (projects\ble\profiles\hiddevkbm)
static CONST uint8 hidReportMap[] =
{
0x05, 0x01, // Usage Page (Generic Desktop)
0x09, 0x02, // Usage (Mouse)
0xA1, 0x01, // Collection (Application)
。。。。。。
}
// Key arrays (6 bytes)
0x95, 0x06, // Report Count (6)
0x75, 0x08, // Report Size (8)
0x15, 0x00, // Log Min (0)
0x25, 0x65, // Log Max (101)
0x05, 0x07, // Usage Pg (Key Codes)
0x19, 0x00, // Usage Min (0)
0x29, 0xff, // 0x65, // Usage Max (101)
0x25, 0x65, // Log Max (101)
0x29, 0x65, // Usage Max (101)------------------> 0x29 ~0xff 的键值范围 。
这两组值都要修改成 0xff 就好 。
6 、睡眠功耗
7、 滑块控制