主题中讨论的其他器件:HID2
工具与软件:
您好!
我目前使用的是基于 MPS430的示例键盘项目、需要一些关于修改代码的指导。 该项目使用消费者报告与 Windows 进行交互、我想将使用 ID 从8位更改为16位值、以适应更多的使用 ID。
我使用的是原始库、想知道处理从8位到16位使用 ID 转换的最佳方法。
我目前已缩小对以下 HID2报告描述符和相关大小的修改范围
#define report_desc_size_HID2 51
uint8_t const report_desc_HID2[]=
{
0x05, 0x0C, // Usage Page (Consumer)
0x09, 0x01, // Usage (Consumer Control)
0xA1, 0x01, // Collection (Application)
0x85, 0x03, // Report Id
0x75, 0x01, // Report Size (1)
0x95, 0x01, // Report Count (1)
0x15, 0x00, // Logical Minimum (0)
0x25, 0x01, // Logical Maximum (1)
0x09, 0xE9, // Usage (Volume Increment)
0x81, 0x06, // Input(Data, Value, Relative, BitField) Bit0
0x09, 0xEA, // Usage (Volume Decrement)
0x81, 0x06, // Input(Data, Value, Relative, BitField) Bit1
0x09, 0xE2, // Usage (Mute)
0x81, 0x06, // Input(Data, Value, Relative, BitField) Bit2
0x0A, 0x94, 0x01, // Usage AL Local Machine Browser (App1)
0x81, 0x06, // Input(Data, Value, Relative, BitField) Bit3
0x0A, 0x92, 0x01, // Usage AL Calculator (App2)
0x81, 0x06, // Input(Data, Value, Relative, BitField) Bit4
0x09, 0xCD, // Usage (Play/Pause)
0x81, 0x06, // Input(Data, Value, Relative, BitField) Bit5
0x09, 0x6F, // Usage (Brightness Increase)
0x81, 0x06, // Input(Data, Value, Relative, BitField) Bit6
0x09, 0x70, // Usage (Brightness Decrease)
0x81, 0x06, // Input(Data, Value, Relative, BitField) Bit7
0xC0, // End Collection
};
当我将 第17行和第19行上的从8位标签和数据{0x09、0xFF}更改为16位{0x0A、0x92、0x01}时、其中0xFF 只是任何限制为8位的使用 ID 的占位符。 我 还将 REPORT_DESC_SIZE_HID2从49更改为51、以考虑报告中的两个额外字节数据。
是否有人在类似的上下文中修改了使用 ID? 非常感谢您提供任何建议或建议!
谢谢!