Class: Twterm::KeyMapper
- Inherits:
-
Object
show all
- 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
Constructor Details
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
|