Class: Twterm::KeyMapper
- Inherits:
-
Object
- Object
- Twterm::KeyMapper
- Includes:
- Singleton
- Defined in:
- lib/twterm/key_mapper.rb,
lib/twterm/key_mapper/no_such_key.rb,
lib/twterm/key_mapper/tab_key_mapper.rb,
lib/twterm/key_mapper/no_such_command.rb,
lib/twterm/key_mapper/abstract_key_mapper.rb
Defined Under Namespace
Classes: AbstractKeyMapper, AppKeyMapper, CursorKeyMapper, GeneralKeyMapper, NoSuchCommand, NoSuchKey, StatusKeyMapper, TabKeyMapper
Constant Summary collapse
- MAPPERS =
{ app: AppKeyMapper, cursor: CursorKeyMapper, general: GeneralKeyMapper, status: StatusKeyMapper, tab: TabKeyMapper, }.freeze
Instance Method Summary collapse
- #[](category, kind) ⇒ Object
- #as_string(category, kind) ⇒ Object
-
#initialize ⇒ KeyMapper
constructor
A new instance of KeyMapper.
Constructor Details
#initialize ⇒ KeyMapper
Returns a new instance of KeyMapper.
26 27 28 29 |
# File 'lib/twterm/key_mapper.rb', line 26 def initialize create_default_dict_file! unless dict_file_exists? load_dict_file! end |
Instance Method Details
#[](category, kind) ⇒ Object
31 32 33 |
# File 'lib/twterm/key_mapper.rb', line 31 def [](category, kind) (@mappings[category] || {})[kind] end |
#as_string(category, kind) ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/twterm/key_mapper.rb', line 35 def as_string(category, kind) key = self[category, kind] case key when '!'..'}' then key when Curses::Key::F1 then 'F1' when Curses::Key::F2 then 'F2' when Curses::Key::F3 then 'F3' when Curses::Key::F4 then 'F4' when Curses::Key::F5 then 'F5' when Curses::Key::F6 then 'F6' when Curses::Key::F7 then 'F7' when Curses::Key::F8 then 'F8' when Curses::Key::F9 then 'F9' when Curses::Key::F10 then 'F10' when Curses::Key::F11 then 'F11' when Curses::Key::F12 then 'F12' when 1..26 then "^#{(key + 'A'.ord - 1).chr}" else '' end end |