我正在设计一个具有特殊功能的USB键盘.这样的HID设备可以从主机接收哪些信息?
我可以通过USB:
谢谢!
设备无法从操作系统提供的标准驱动程序中获取任何此类信息,因为这将是一个安全问题。它可以接收您自己的驱动程序或应用程序发送的任何信息。与它通信的方式有很多种——您的设备可以呈现多个接口(将显示为单独的设备)、多个端点或使用控制通道。你肯定需要学习规范,我也发现这个教程很有帮助。
我做了类似的事情,并使用控制通道与 Windows 应用程序(通过标准的 Windows 驱动程序)交换特征数据。在 Windows 上,API 调用是HidD_SetFeature()和HidD_GetFeature()。
在设备方面,我的硬件运行嵌入式 Linux,我使用GadgetFS 库来创建用户模式驱动程序 - 比内核驱动程序更容易调试。