HIDAPI是一個多平臺庫,它允許應(yīng)用程序與Windows、Linux、FreeBSD和macOS上的USB和藍(lán)牙HID類設(shè)備連接。HIDAPI既可以作為一個共享庫(.so、.dll或.dylib)構(gòu)建,也可以通過添加一個源文件(每個平臺)和一個頭文件直接嵌入到目標(biāo)應(yīng)用程序中。
軟件介紹
HIDAPI有五個后端。
Windows (使用hid.dll)
Linux/hidraw (使用內(nèi)核的hidraw驅(qū)動)
Linux/libusb (使用libusb-1.0)
FreeBSD (使用libusb-1.0)
Mac (使用IOHidManager)
在Linux上,可以使用hidraw或libusb后端。有一些取舍,支持的功能也略有不同。
Linux/hidraw(linux/hid.c)。
這個后端使用Linux內(nèi)核中的hidraw接口,并支持USB和藍(lán)牙HID設(shè)備。它需要內(nèi)核版本至少為2.6.39才能構(gòu)建。此外,它只能與有hidraw節(jié)點(diǎn)關(guān)聯(lián)的設(shè)備進(jìn)行通信。鍵盤、鼠標(biāo)和其他一些被列入黑名單的設(shè)備將無法使用hidraw節(jié)點(diǎn)。幸運(yùn)的是,對于幾乎所有的hidraw用途來說,這都不是一個問題。
Linux/FreeBSD/libusb(libusb/hid.c)。
這個后端使用libusb-1.0來直接與USB設(shè)備通信。當(dāng)然,這個后端不會與藍(lán)牙設(shè)備一起工作。
HIDAPI還帶有一個測試圖形用戶界面。該測試GUI是跨平臺的,使用Fox Toolkit http://www.fox-toolkit.org。它可以在HIDAPI支持的每個平臺上構(gòu)建。由于它依賴于一個第三方庫,構(gòu)建它是可選的,但推薦使用,因?yàn)樗谡{(diào)試硬件時非常有用。