HIDAPI is a multi-platform library which allows an application to interface with USB and Bluetooth HID-Class devices on Windows, Linux, and Mac OS X.
Libusb is a library that gives user level applications uniform access to USB devices across many different operating systems.
That hidapi doesn t give you the same level of control over the packets you send s higher level than libusb and some of the parameters that that hidapi doesn t give you the same level of control over the packets you send uses for requests are fixed brequest value
Hidapi vs libusb for Linux
Also if this controller is an hid the hidapi library might be a better fit than libusb
Ruby libusb: Stall error