在linux上读取原始鼠标数据

时间:2017-04-29 16:51:10

标签: ruby linux raspberry-pi mouse

我想使用带有Raspberry PI的光学鼠标进行室内定位,我想要捕获原始鼠标数据并从中计算位置。这就是我现在所拥有的(在Ruby中)

File.open("/dev/input/by-id/usb-15d9_USB_OPTICAL_MOUSE-mouse") do |f|
  loop do
    p f.read(16)
  end
end

我无法理解输出。如果你们中的任何人向我指出了解释如何解释这个文件的资源和/或我如何计算它的位置或位移,那将是非常有帮助的。

我不能使用xdotool或Xlib,因为Raspberry PI不会运行任何窗口系统。

1 个答案:

答案 0 :(得分:0)

DPI = 1000.0
MOUSE_FILE = ""

# Read mouse device file
File.open(MOUSE_FILE) do |f|
  loop do
    _button, dx, dy =  f.read(3).unpack('Ccc')

    x += dx
    y += dy

    puts "#{x * 2.5 / DPI}, #{y * 2.5 / DPI}"
  end
end