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
@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