Input Device Framework Library Dependencies: Linux: libudev, libudev-devel, librt libudev and librt are commonly preinstalled on most distributions. However, you might need to install libudev-devel via your package manager. Be sure to include them in your linker flags when building against IDF. For instance: -ludev -lrt Mac: IOKit, CoreFoundation These should be preinstalled. Both: libntcan (only if CAN device support is required) Required for CAN bus device support. Avaiable for a fee at www.esd.eu. Follow the installation instructions to install the drivers and create the device nodes. Ensure you include the path to ntcan.h in your compiler flags and the path to libntcan.a and the option to include the library in your linker flags. Permissions: On Linux, USB devices usually default to root-only access. To use these devices within IDF, you will need to add a udev rule that changes the permissions. See models/hidapi/udev/99-hid.rules.