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