【问题标题】:Sending/Recieving HID reports in Linux?在 Linux 中发送/接收 HIDE 报告?
【发布时间】:2022-07-22 20:39:45
【问题描述】:

我正在尝试从(用户空间)C++ 程序与自定义硬件进行通信。该设备是 HID 设备,但不是鼠标/键盘。

在 Windows 上,我可以使用 HidD_SetOutputReport 发送报告,然后使用 HidD_GetInputReport 接收回复。 (生成的报告不止一份,但这些调用让我可以指定我想要哪一份。)

我没有做任何花哨的事情,所以它很简单。

我无法弄清楚这些调用的简单 Linux 替代方案是什么。

如果有人可以向我指出说明 Linux 上等效操作的文档或代码示例,我将不胜感激。

谢谢。

【问题讨论】:

    标签: linux usb hid


    【解决方案1】:

    如果您的设备是 HID 设备,那么要发送 HID 报告,您需要写入相应的 /dev/hid* 设备。这将是 HidD_SetOutputReport 替代。

    现在大多数设备都使用 EP0 进行反向通信,因此要获得响应,您需要从相应的 /dev/hid* 设备中读取。这将是 HidD_GetInputReport 备用。

    如果您的硬件没有使用 EP0 进行通信,那么您可以从 Endpoint 描述符中找到信息,其中将定义如何获取响应。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-04
      • 1970-01-01
      • 2014-04-13
      • 1970-01-01
      • 2023-04-11
      • 1970-01-01
      • 2021-12-23
      相关资源
      最近更新 更多