]> git.cworth.org Git - sup/blobdiff - lib/sup/keymap.rb
make a Index#run_query method, update sup-tweak-labels
[sup] / lib / sup / keymap.rb
index e14ccbe0a4eecdb3507978f162521f59953eb9b2..76c7139f45eb9478a627e49ac7c87eea81d0ee5d 100644 (file)
@@ -43,16 +43,10 @@ class Keymap
     when :home: "<home>"
     when :end: "<end>"
     when :enter, :return: "<enter>"
-    when :ctrl_l: "ctrl-l"
-    when :ctrl_g: "ctrl-g"
     when :tab: "tab"
     when " ": "<space>"
     else
-      if k.is_a?(String) && k.length == 1
-        k
-      else
-        raise ArgumentError, "unknown key name \"#{k}\""
-      end
+      Curses::keyname(keysym_to_keycode(k))
     end
   end
 
@@ -61,7 +55,7 @@ class Keymap
     @order << entry
     keys.each do |k|
       kc = Keymap.keysym_to_keycode k
-      raise ArgumentError, "key '#{k}' already defined (action #{action})" if @map.include? kc
+      raise ArgumentError, "key '#{k}' already defined (as #{@map[kc].first})" if @map.include? kc
       @map[kc] = entry
     end
   end