Method: Redwood::Keymap.keysym_to_keycode

Defined in:
lib/sup/keymap.rb

.keysym_to_keycode(k) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/sup/keymap.rb', line 18

def self.keysym_to_keycode k
  case k
  when :down then Curses::KEY_DOWN
  when :up then Curses::KEY_UP
  when :left then Curses::KEY_LEFT
  when :right then Curses::KEY_RIGHT
  when :page_down then Curses::KEY_NPAGE
  when :page_up then Curses::KEY_PPAGE
  when :backspace then Curses::KEY_BACKSPACE
  when :home then Curses::KEY_HOME
  when :end then Curses::KEY_END
  when :ctrl_l then "\f".ord
  when :ctrl_g then "\a".ord
  when :tab then "\t".ord
  when :enter, :return then 10 #Curses::KEY_ENTER
  else
    if k.is_a?(String) && k.length == 1
      k.ord
    else
      raise ArgumentError, "unknown key name '#{k}'"
    end
  end
end