key remap with ruby
Latest commit d5b513e Dec 24, 2015 @kui Avoid clone.delete_if
Failed to load latest commit information.
bin fix for test to avoid to refarence ARGV Feb 11, 2014
lib Avoid clone.delete_if Dec 24, 2015
sample add a comment for pre_bind_key Jun 6, 2012
spec use "expect" and avoid "should" in spec Dec 24, 2015
.gitignore add ".ruby-version" to .gitignore Feb 11, 2014
Gemfile init Apr 21, 2012
LICENSE init Apr 21, 2012 update README Feb 11, 2014
Rakefile init Apr 21, 2012
rbindkeys.gemspec add a dependency Jun 3, 2012


a key remapper, which is configurable in ruby, for Linux and X Window System


Add this line to your application's Gemfile:

gem 'rbindkeys'

And then execute:

$ bundle

Or install it yourself as:

$ gem install rbindkeys


  1. rbindkeys -e > ~/.rbindkeys.rb
  2. edit ~/.rbindkeys.rb
  3. select a keyboard device (see sudo rbindkeys --evdev-list)
  4. sudo rbindkeys /dev/input/event2 if you selected "/dev/input/event2" as a target keyboard


  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request


  • write documents and publish on
  • a daemonize script
  • remove @two_storoke and add PrefixBindResolver class
  • change BindResolver on input method system
  • simplify config file (e.g. bind_key [:ctrl, :m], :enter, bind_key "ctrl+m", "enter" )
  • integrate ibus controller (e.g. bind_key "alt-grave", "toggle_ibus" )
  • notification when active a prefix key, changing ibus status, etc..
  • the LED manipulation does not work for bluetooth devices
  • fix bug
    • the enter key cannot be release when rbindkey is executed

Other Configurable Key Remappers For Linux