是否有任何ruby库用于usb隐藏接口?

时间:2012-10-08 17:58:51

标签: ruby rubygems jruby hid

我担心没有usb藏书库。有谁知道好的替代品,可以和红宝石一起使用(例如jruby)?

3 个答案:

答案 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