一个简单的库,用于在 Linux、Mac 和 Windows 上与 USB 和蓝牙 HID 设备进行通信。
HIDAPI 是一个多平台库,允许应用程序在 Windows、Linux、FreeBSD 和 Mac OS X 上与 USB 和蓝牙 HID 类设备进行接口。HIDAPI 可以作为共享库 (.so 或 .dll) 构建,也可以通过添加一个单个源文件(每个平台一个)和一个单个头文件,直接嵌入到目标应用程序中。HIDAPI 具有四个后端:
在 Linux 上,可以使用 hidraw 或 libusb 后端。它们各有优缺点,支持的功能略有不同。 Linux/hidraw (linux/hid.c): 此后端使用 Linux 内核中的 hidraw 接口。虽然此后端支持 USB 和蓝牙,但在 2.6.39 之前的内核中存在一些限制,包括无法发送或接收功能报告。此外,它只能与具有与之关联的 hidraw 节点的设备通信。键盘、鼠标和一些其他被列入黑名单的设备不支持使用 hidraw 节点。幸运的是,对于大多数使用 hidraw 的情况,这并不是问题。
Linux/FreeBSD/libusb (libusb/hid.c): 此后端使用 libusb-1.0 直接与 USB 设备通信。当然,此后端不会与蓝牙设备兼容。HIDAPI 还附带了一个测试 GUI。该测试 GUI 是跨平台的,使用 Fox Toolkit (http://www.fox-toolkit.org)。它将在 HIDAPI 支持的每个平台上构建。由于它依赖于第三方库,因此构建它是可选的,但建议这样做,因为在调试硬件时非常有用。
API 的外观如何? ============================= API 提供了最常用的 HID 功能,包括发送和接收输入、输出和功能报告。 与一个经过大量修改的 Microchip USB 通用 HID 示例程序进行通信的示例程序如下所示(为了简化,已删除错误检查):
暂无开放 Issues,或尚未同步最近议题。