BLE,Hid键盘,如何发送大于101的键值?

Eleven_Huang 2016-10-28 03:51:00
使用的的CC2541芯片,需要做一个remote,其实就是一个蓝牙键盘,利用TI的HIDEmuKbd工程进行修改,这个工程设计的是标准的101键盘,但我需要通过这个remote去控制手机的音量大小,而音量调节键的键值是128和129,大于101,
将hidReportMap[]中的 0x25, 0x65, // Log Max (101) 0x29, 0x65, // Usage Max (101)
修改为 0x25, 0xff, // Log Max (255) 0x29, 0xff, // Usage Max (255)

蓝牙连上电脑或者手机,均无法做出对应的调节音量的反应,请问怎么才能使这个键盘变成可以发送大于101键值的键盘呢?使之可以调节电脑或者手机的音量?

具体如下:
// HID Report Map characteristic value
// Keyboard report descriptor (using format for Boot interface descriptor)
static CONST uint8 hidReportMap[] =
{
0x05, 0x01, // Usage Pg (Generic Desktop)
0x09, 0x06, // Usage (Keyboard)
0xA1, 0x01, // Collection: (Application)
//
0x05, 0x07, // Usage Pg (Key Codes)
0x19, 0xE0, // Usage Min (224)
0x29, 0xE7, // Usage Max (231)

0x15, 0x00, // Log Min (0)
0x25, 0x01, // Log Max (1)
//
// Modifier byte
0x75, 0x01, // Report Size (1)
0x95, 0x08, // Report Count (8)
0x81, 0x02, // Input: (Data, Variable, Absolute)
//
// Reserved byte
0x95, 0x01, // Report Count (1)
0x75, 0x08, // Report Size (8)
0x81, 0x01, // Input: (Constant)
//
// LED report
0x95, 0x05, // Report Count (5)
0x75, 0x01, // Report Size (1)
0x05, 0x08, // Usage Pg (LEDs)
0x19, 0x01, // Usage Min (1)
0x29, 0x05, // Usage Max (5)
0x91, 0x02, // Output: (Data, Variable, Absolute)
//
// LED report padding
0x95, 0x01, // Report Count (1)
0x75, 0x03, // Report Size (3)
0x91, 0x01, // Output: (Constant)
//
// Key arrays (6 bytes)
0x95, 0x06, // Report Count (6)
0x75, 0x08, // Report Size (8)
0x15, 0x00, // Log Min (0)
0x25, 0xff, // Log Max (255)
0x05, 0x07, // Usage Pg (Key Codes)
0x19, 0x00, // Usage Min (0)
0x29, 0xff, // Usage Max (255)
0x81, 0x00, // Input: (Data, Array)
//
0xC0 // End Collection
};
...全文
5317 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
hzkcool 2017-08-23
  • 打赏
  • 举报
回复
楼主,问题解决了么? 遇到同样的问题,2640 没办法传vol+ vol-和Mute的健值。。。

3,846

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 无线
社区管理员
  • 无线
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧