module Keymap
  def self.default()
    {
      'space'       => 'NEXT',
      'd'           => 'DEBUG',
      'up'          => 'PREV',
      'left'        => 'PREV',
      'pageup'      => 'PREV',
      'down'        => 'NEXT',
      'right'       => 'NEXT',
      'pagedown'    => 'NEXT',
      'r'           => 'RELOAD',
      'c'           => 'CONTENTS',
      't'           => 'CONTENTS',
      'h'           => 'HELP',
      '/'           => 'HELP',
      '?'           => 'HELP',
      'b'           => 'BLANK',
      'F'           => 'FOOTER',
      'f'           => 'FOLLOW',
      'n'           => 'NOTES',
      'esc'         => 'CLEAR',
      'p'           => 'PAUSE',
      'P'           => 'PRESHOW',
      'x'           => 'EXECUTE',
    }
  end
end

module Keymap
  def self.default()
    {
      'space'       => 'NEXT',
      'd'           => 'DEBUG',
      'up'          => 'PREV',
      'left'        => 'PREV',
      'pageup'      => 'PREV',
      'down'        => 'NEXT',
      'right'       => 'NEXT',
      'pagedown'    => 'NEXT',
      'r'           => 'RELOAD',
      'c'           => 'CONTENTS',
      't'           => 'CONTENTS',
      'h'           => 'HELP',
      '/'           => 'HELP',
      '?'           => 'HELP',
      'b'           => 'BLANK',
      '.'           => 'BLANK',
      'F'           => 'FOOTER',
      'f'           => 'FOLLOW',
      'n'           => 'NOTES',
      'esc'         => 'CLEAR',
      'p'           => 'PAUSE',
      'P'           => 'PRESHOW',
      'x'           => 'EXECUTE',
      'f5'           => 'EXECUTE',
    }
  end
end

Add a couple keyboard shortcuts
Add a couple keyboard shortcuts

This allows the popular Logitech R800 to be used out of the box for full
control, including screen blanking and code execution. The play button
will run code on first tap, then clear results on second.
