我正在开发一个USB HID设备(带有自定义键的多媒体键盘),它实现了消费者控制使用页面 . 通过请求作为原始数据的状态,我可以使用hidapi库与它进行交互,不使用HID描述符 .

有没有与HID设备交互的高级方法?是否有任何(跨平台)工具或API可以读取和解析HID描述符并生成密钥代码?

这是我的HID描述符:

HID_RI_USAGE_PAGE(8, 0x0C),\
HID_RI_USAGE(16, 0x200),\
HID_RI_COLLECTION(8, 0x01),\
    HID_RI_USAGE_PAGE(8, 0x08),\
    HID_RI_USAGE_MINIMUM(8, 0x01),\
    HID_RI_USAGE_MAXIMUM(8, 0x03),\
    HID_RI_REPORT_COUNT(8, 0x03),\
    HID_RI_REPORT_SIZE(8, 0x01),\
    HID_RI_OUTPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE), \
    HID_RI_REPORT_COUNT(8, 0x01),\
    HID_RI_REPORT_SIZE(8, 0x05),\
    HID_RI_OUTPUT(8, HID_IOF_CONSTANT),\
    HID_RI_USAGE_PAGE(8, 0x0C),\
    HID_RI_USAGE_MINIMUM(16, StartKey),\
    HID_RI_USAGE_MAXIMUM(16, (StartKey)+(KeysCount)),\
    HID_RI_REPORT_COUNT(8, MaxKeys),\
    HID_RI_REPORT_SIZE(8, 16),\
    HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_ARRAY | HID_IOF_ABSOLUTE),\
HID_RI_END_COLLECTION(0)

也许我应该以某种方式修改它以使系统自动请求设备?