I wrote this little demo code with libusb:
require 'libusb'
usb = LIBUSB::Context.new
device = usb.devices(:idVendor => 2362).first
puts device.all_input_usages
But somehow I don't get the error:
undefined method `all_input_usages' for #<LIBUSB::Device:0x2091fa8>
What did I do wrong?
You should step away from that demo code, because it is hopelessly outdated and the API has radically changed since.
You can see all available methods in IRB when you type device.methods - Object.new.methods
, it's a trick i often use when i want to explore what an object has to offer. Maybe this will help you find the method you are looking for.
I guess that the idVendor should be written in hexadecimal spelling, so maybe device = usb.devices(:idVendor => 0x2362).first
will work.