Module: Thaum::Keys
- Defined in:
- lib/thaum/keys.rb
Constant Summary collapse
- CSI =
Control Sequence Introducer (CSI) sequences: e[ + final byte e.g. up arrow → e[A
{ Seq::CSI_UP[-1] => :up, Seq::CSI_DOWN[-1] => :down, Seq::CSI_RIGHT[-1] => :right, Seq::CSI_LEFT[-1] => :left, Seq::CSI_HOME[-1] => :home, Seq::CSI_END[-1] => :end }.freeze
- TILDE =
Control Sequence Introducer (CSI) tilde sequences: e[ + number + ~ e.g. delete → e[3~ (the number identifies the key, ~ is always the final byte)
{ Seq::TILDE_HOME[2..-2].to_i => :home, Seq::TILDE_INSERT[2..-2].to_i => :insert, Seq::TILDE_DELETE[2..-2].to_i => :delete, Seq::TILDE_END[2..-2].to_i => :end, Seq::TILDE_PAGE_UP[2..-2].to_i => :page_up, Seq::TILDE_PAGE_DOWN[2..-2].to_i => :page_down, Seq::TILDE_F1[2..-2].to_i => :f1, Seq::TILDE_F2[2..-2].to_i => :f2, Seq::TILDE_F3[2..-2].to_i => :f3, Seq::TILDE_F4[2..-2].to_i => :f4, Seq::TILDE_F5[2..-2].to_i => :f5, Seq::TILDE_F6[2..-2].to_i => :f6, Seq::TILDE_F7[2..-2].to_i => :f7, Seq::TILDE_F8[2..-2].to_i => :f8, Seq::TILDE_F9[2..-2].to_i => :f9, Seq::TILDE_F10[2..-2].to_i => :f10, Seq::TILDE_F11[2..-2].to_i => :f11, Seq::TILDE_F12[2..-2].to_i => :f12 }.freeze
- SS3 =
Single Shift 3 (SS3) sequences: eO + final byte Older VT100 encoding for function and arrow keys; many terminals still emit these for F1-F4 and arrows in application cursor mode.
{ Seq::SS3_F1[-1] => :f1, Seq::SS3_F2[-1] => :f2, Seq::SS3_F3[-1] => :f3, Seq::SS3_F4[-1] => :f4, Seq::SS3_HOME[-1] => :home, Seq::SS3_END[-1] => :end, Seq::SS3_UP[-1] => :up, Seq::SS3_DOWN[-1] => :down, Seq::SS3_RIGHT[-1] => :right, Seq::SS3_LEFT[-1] => :left }.freeze