0.0
Repository is archived
No commit activity in last 3 years
No release in over 3 years
There's a lot of open issues
Evdev bindings and DOM adapter for Vigilem
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.7
~> 10.0
~> 3.1
>= 0
>= 0

Runtime

 Project Readme

Vigilem::Evdev

Provides DOM conversion and ruby binding for evdev

Installation

$ gem install vigilem-evdev
(for Bundler see known issues)

Usage

  require 'vigilem/evdev/dom'
  
  adapter = Vigilem::Evdev::DOM::Adapter.new
  
  puts adapter.read_one.inspect

tested on

  • Linux kernels 3.15, 3.2.0
  • ruby 2.0.0 x64 Linux mri
  • ruby 2.0.0 x32 Linux mri

Known issues

!!Permissions!!

In order to run this you will need permission to read from /dev/input/* Rather than rewrite the wheel, please see https://github.com/jteeuwen/evdev/blob/master/README.md#permissions which has a great explanation

rbenv, rvm

bundler/gem install fail

Adding just gem 'vigilem-evdev' is different than gem install vigilem-evdev In both cases the vigilem-evdev gem installs it's input_system dependencies on install, however since bundler tracks it's installed gems the dynamically installed gems get added to the $GEM_HOME still, but not added to Gemfile.lock. So in order exactly model production the 'vigilem-x11' needs to be added

gem 'vigilem-evdev'
gem 'vigilem-x11'

@see focus_context_filter.rb and input_system_handler.rb

FAQ

  • why does vigilem-evdev require vigilem-x11-stat?:
    • This is convenience for gnome-terminal so that it:
      • doesn't read the keyboard when the window doesn't have focus
      • this matches how win32 does things and makes it more cross platform

Roadmap

  • 1.0.0:
    • @todo's, bug fixes, KeyMap load performance
    • Mac/Bsd
    • mouse
    • jettison 'linux-system' items into own gem
    • less brittle tests
  • next
    • complete ffi items