module

Term::Terminfo::Keyboard

Keyboard key mappings and detection

Constants

KEY_SEQUENCES = {"\e[A" => Key::Up, "\e[B" => Key::Down, "\e[C" => Key::Right, "\e[D" => Key::Left, "\eOA" => Key::Up, "\eOB" => Key::Down, "\eOC" => Key::Right, "\eOD" => Key::Left, "\e[H" => Key::Home, "\e[F" => Key::End, "\e[1~" => Key::Home, "\e[4~" => Key::End, "\e[7~" => Key::Home, "\e[8~" => Key::End, "\eOH" => Key::Home, "\eOF" => Key::End, "\e[5~" => Key::PageUp, "\e[6~" => Key::PageDown, "\e[2~" => Key::Insert, "\e[3~" => Key::Delete, "\eOP" => Key::F1, "\eOQ" => Key::F2, "\eOR" => Key::F3, "\eOS" => Key::F4, "\e[15~" => Key::F5, "\e[17~" => Key::F6, "\e[18~" => Key::F7, "\e[19~" => Key::F8, "\e[20~" => Key::F9, "\e[21~" => Key::F10, "\e[23~" => Key::F11, "\e[24~" => Key::F12, "\e[Z" => Key::ShiftTab, "\e[1;2A" => Key::ShiftUp, "\e[1;2B" => Key::ShiftDown, "\e[1;2C" => Key::ShiftRight, "\e[1;2D" => Key::ShiftLeft, "\e[a" => Key::ShiftUp, "\e[b" => Key::ShiftDown, "\e[c" => Key::ShiftRight, "\e[d" => Key::ShiftLeft}

Key sequences mapping

Instance methods

arrow_key?(key : Key) : Bool

Check if key is arrow key

Source
control?(key : Key) : Bool

Check if key is control character

Source
function_key?(key : Key) : Bool

Check if key is function key

Source
key_name(key : Key) : String

Get key name

Source
mouse_event?(key : Key) : Bool

Check if key is mouse event

Source
parse_sequence(sequence : String) : Key | Nil

Parse key sequence to Key enum

Source
printable?(key : Key) : Bool

Check if key is printable

Source

Nested types