我担心没有usb藏书库。有谁知道好的替代品,可以和红宝石一起使用(例如jruby)?
答案 0 :(得分:0)
ruby wrappers for libusb library不符合要求吗?
此外,这篇博文:Working ruby HID listener example有一些与USB接口的代码示例
答案 1 :(得分:0)
如果您准备坚持使用JRuby,可以尝试包装javahidapi。它使用JNI执行对HIDAPI库的调用。
答案 2 :(得分:0)
我知道这是一个老问题,但我已经编写了一个用于在Linux上阅读HID控制器的宝石(它直接使用Linux内核驱动程序)。
https://rubygems.org/gems/ruby_hid
它现在也很实验,但确实有效。
有了它,您可以在由start_listening
触发的单独线程上运行的按钮或控制轴上设置观察者。这可以在共享对象中设置一个值,您可以在代码中使用该值。
以下是其中一个示例,它只报告按钮按下:
require 'rubygems'
require 'ruby_hid'
device = RubyHid::Device.new(
RubyHid::Device.list[0]
)
buttons = RubyHid::Button::EVENTS
buttons.each do |code, name|
button = RubyHid::Button.find_by_name(name)
button.add_event(
eval "lambda { |val| puts \"#{name} pushed: \#{val}\" }"
)
end
device.start_watching
loop do
sleep 1
end