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.
Also if this controller is an hid the hidapi library might be a better fit than libusb
Ruby libusb: Stall error
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