enum Tput::Key

Defined in:

tput/keys.cr

Enum Members

CtrlA = 1
CtrlB = 2
CtrlC = 3
CtrlD = 4
CtrlE = 5
CtrlF = 6
CtrlG = 7
CtrlH = 8
Tab = 9
CtrlI = 9
CtrlJ = 10
CtrlK = 11
CtrlL = 12
Enter = 13
CtrlM = 13
CtrlN = 14
CtrlO = 15
CtrlP = 16
CtrlQ = 17
CtrlR = 18
CtrlS = 19
CtrlT = 20
CtrlU = 21
CtrlV = 22
CtrlW = 23
CtrlX = 24
CtrlY = 25
CtrlZ = 26
Escape = 27
Space = 32
Backspace = 127
AltEnter = 128
ShiftTab = 129
FixAutonumbering = 1000

Unused; forces autonumbering of following fields to avoid collisions.

Home = 1001
End = 1002
PageUp = 1003
PageDown = 1004
Insert = 1005
Delete = 1006
Clear = 1007
Up = 1008
Down = 1009
Left = 1010
Right = 1011
ShiftUp = 1012
ShiftDown = 1013
ShiftLeft = 1014
ShiftRight = 1015
CtrlUp = 1016
CtrlDown = 1017
CtrlLeft = 1018
CtrlRight = 1019
AltUp = 1020
AltDown = 1021
AltLeft = 1022
AltRight = 1023
ShiftHome = 1024
ShiftEnd = 1025
ShiftInsert = 1026
ShiftDelete = 1027
ShiftPageUp = 1028
ShiftPageDown = 1029
CtrlHome = 1030
CtrlEnd = 1031
CtrlInsert = 1032
CtrlDelete = 1033
CtrlPageUp = 1034
CtrlPageDown = 1035
AltHome = 1036
AltEnd = 1037
AltInsert = 1038
AltDelete = 1039
AltPageUp = 1040
AltPageDown = 1041
F1 = 1042
F2 = 1043
F3 = 1044
F4 = 1045
F5 = 1046
F6 = 1047
F7 = 1048
F8 = 1049
F9 = 1050
F10 = 1051
F11 = 1052
F12 = 1053
F13 = 1054
F14 = 1055
F15 = 1056
F16 = 1057
F17 = 1058
F18 = 1059
F19 = 1060
F20 = 1061
F21 = 1062
F22 = 1063
F23 = 1064
F24 = 1065
AltA = 1066
AltB = 1067
AltC = 1068
AltD = 1069
AltE = 1070
AltF = 1071
AltG = 1072
AltH = 1073
AltI = 1074
AltJ = 1075
AltK = 1076
AltL = 1077
AltM = 1078
AltN = 1079
AltO = 1080
AltP = 1081
AltQ = 1082
AltR = 1083
AltS = 1084
AltT = 1085
AltU = 1086
AltV = 1087
AltW = 1088
AltX = 1089
AltY = 1090
AltZ = 1091
Menu = 16777301
Mouse = 16777302

Mouse-reporting introducer detected: \e[M (X10), \e[< (SGR / DEC-locator), \e[I/\e[O (focus in/out), or numeric \e[…M (URxvt). Payload parsed by Tput::Input#read_mouse into Tput::Mouse::Event.

Enhanced = 16777303

Enhanced keyboard sequence: kitty keyboard protocol event (CSI … u), xterm modifyOtherKeys report (CSI 27 ; … ~), or a legacy-final key with a kitty event-type sub-parameter (CSI 1 ; 5 : 3 A). Re-parsed by Tput::Input#parse_key_event into Tput::KeyEvent.

PasteStart = 16777304

Bracketed paste (DEC private mode 2004): \e[200~ begins, \e[201~ ends. On PasteStart, Tput::Input#listen reads the body via #read_paste up to PasteEnd and delivers it as the paste argument.

PasteEnd = 16777305
Resize = 16777306

In-band terminal resize report (DEC private mode 2048), \e[48;rows;cols;ypixels;xpixels t. Parsed by Tput::Input#parse_resize into Tput::Resize, delivered as #listen's resize argument.

Osc = 16777307

OSC reply (\e]…); Tput::Input#listen reads and dispatches the payload (e.g. OSC 52 clipboard reply -> paste).

ColorScheme = 16777308

Color-scheme report (DEC private mode 2031), \e[?997;Ps n (Ps 1 = dark, 2 = light). Parsed into Tput::ColorScheme, delivered as #listen's color_scheme argument.

Unknown = 33554431

Class Method Summary

Instance Method Summary

Class Method Detail

def self.csi_letter_keys(final : Char) : Tuple(Key, Key, Key, Key) | Nil #

The four legacy cursor/Home/End members (base / shift / alt / ctrl) for a \e[ … <letter> final, or nil for any other letter.

Shared by legacy #csi_letter_key and enhanced-keyboard projection KeyEvent#to_legacy_key (like #csi_tilde_keys), so both routes agree on the cursor-key mapping; each applies its own modifier scheme.


[View source]
def self.csi_tilde_keys(n : Int32 | Nil) : Tuple(Key, Key, Key, Key) | Nil #

The four legacy navigation members (base / shift / alt / ctrl) for a \e[ N ~ parameter, or nil for function keys (no distinct modified members — see #function_key).

Shared by legacy #csi_tilde_key and enhanced-keyboard projection KeyEvent#tilde_key (like #function_key) so both routes agree on the navigation-key mapping; each applies its own modifier scheme (#csi_modified vs KeyEvent#nav).


[View source]
def self.function_key(n : Int32 | Nil) : Key | Nil #

Maps a \e[ N ~ parameter for function keys F1-F20 / Menu. No distinct modified enum members exist, so any held modifier is ignored (matching the legacy parser). nil for any non-function-key n.

Shared by legacy #csi_tilde_key and enhanced-keyboard projection KeyEvent#tilde_key, so both routes agree on function-key numbering.


[View source]
def self.read_control(char : Char, &) : Key | Nil #

Reads a Control input from char. If an escape sequence was detected, calls the given block for the next Char?.


[View source]

Instance Method Detail

def alt_a? #

Returns true if this enum value equals AltA


[View source]
def alt_b? #

Returns true if this enum value equals AltB


[View source]
def alt_c? #

Returns true if this enum value equals AltC


[View source]
def alt_d? #

Returns true if this enum value equals AltD


[View source]
def alt_delete? #

Returns true if this enum value equals AltDelete


[View source]
def alt_down? #

Returns true if this enum value equals AltDown


[View source]
def alt_e? #

Returns true if this enum value equals AltE


[View source]
def alt_end? #

Returns true if this enum value equals AltEnd


[View source]
def alt_enter? #

Returns true if this enum value equals AltEnter


[View source]
def alt_f? #

Returns true if this enum value equals AltF


[View source]
def alt_g? #

Returns true if this enum value equals AltG


[View source]
def alt_h? #

Returns true if this enum value equals AltH


[View source]
def alt_home? #

Returns true if this enum value equals AltHome


[View source]
def alt_i? #

Returns true if this enum value equals AltI


[View source]
def alt_insert? #

Returns true if this enum value equals AltInsert


[View source]
def alt_j? #

Returns true if this enum value equals AltJ


[View source]
def alt_k? #

Returns true if this enum value equals AltK


[View source]
def alt_l? #

Returns true if this enum value equals AltL


[View source]
def alt_left? #

Returns true if this enum value equals AltLeft


[View source]
def alt_m? #

Returns true if this enum value equals AltM


[View source]
def alt_n? #

Returns true if this enum value equals AltN


[View source]
def alt_o? #

Returns true if this enum value equals AltO


[View source]
def alt_p? #

Returns true if this enum value equals AltP


[View source]
def alt_page_down? #

Returns true if this enum value equals AltPageDown


[View source]
def alt_page_up? #

Returns true if this enum value equals AltPageUp


[View source]
def alt_q? #

Returns true if this enum value equals AltQ


[View source]
def alt_r? #

Returns true if this enum value equals AltR


[View source]
def alt_right? #

Returns true if this enum value equals AltRight


[View source]
def alt_s? #

Returns true if this enum value equals AltS


[View source]
def alt_t? #

Returns true if this enum value equals AltT


[View source]
def alt_u? #

Returns true if this enum value equals AltU


[View source]
def alt_up? #

Returns true if this enum value equals AltUp


[View source]
def alt_v? #

Returns true if this enum value equals AltV


[View source]
def alt_w? #

Returns true if this enum value equals AltW


[View source]
def alt_x? #

Returns true if this enum value equals AltX


[View source]
def alt_y? #

Returns true if this enum value equals AltY


[View source]
def alt_z? #

Returns true if this enum value equals AltZ


[View source]
def backspace? #

Returns true if this enum value equals Backspace


[View source]
def clear? #

Returns true if this enum value equals Clear


[View source]
def color_scheme? #

Returns true if this enum value equals ColorScheme


[View source]
def ctrl_a? #

Returns true if this enum value equals CtrlA


[View source]
def ctrl_b? #

Returns true if this enum value equals CtrlB


[View source]
def ctrl_c? #

Returns true if this enum value equals CtrlC


[View source]
def ctrl_d? #

Returns true if this enum value equals CtrlD


[View source]
def ctrl_delete? #

Returns true if this enum value equals CtrlDelete


[View source]
def ctrl_down? #

Returns true if this enum value equals CtrlDown


[View source]
def ctrl_e? #

Returns true if this enum value equals CtrlE


[View source]
def ctrl_end? #

Returns true if this enum value equals CtrlEnd


[View source]
def ctrl_f? #

Returns true if this enum value equals CtrlF


[View source]
def ctrl_g? #

Returns true if this enum value equals CtrlG


[View source]
def ctrl_h? #

Returns true if this enum value equals CtrlH


[View source]
def ctrl_home? #

Returns true if this enum value equals CtrlHome


[View source]
def ctrl_i? #

Returns true if this enum value equals CtrlI


[View source]
def ctrl_insert? #

Returns true if this enum value equals CtrlInsert


[View source]
def ctrl_j? #

Returns true if this enum value equals CtrlJ


[View source]
def ctrl_k? #

Returns true if this enum value equals CtrlK


[View source]
def ctrl_l? #

Returns true if this enum value equals CtrlL


[View source]
def ctrl_left? #

Returns true if this enum value equals CtrlLeft


[View source]
def ctrl_m? #

Returns true if this enum value equals CtrlM


[View source]
def ctrl_n? #

Returns true if this enum value equals CtrlN


[View source]
def ctrl_o? #

Returns true if this enum value equals CtrlO


[View source]
def ctrl_p? #

Returns true if this enum value equals CtrlP


[View source]
def ctrl_page_down? #

Returns true if this enum value equals CtrlPageDown


[View source]
def ctrl_page_up? #

Returns true if this enum value equals CtrlPageUp


[View source]
def ctrl_q? #

Returns true if this enum value equals CtrlQ


[View source]
def ctrl_r? #

Returns true if this enum value equals CtrlR


[View source]
def ctrl_right? #

Returns true if this enum value equals CtrlRight


[View source]
def ctrl_s? #

Returns true if this enum value equals CtrlS


[View source]
def ctrl_t? #

Returns true if this enum value equals CtrlT


[View source]
def ctrl_u? #

Returns true if this enum value equals CtrlU


[View source]
def ctrl_up? #

Returns true if this enum value equals CtrlUp


[View source]
def ctrl_v? #

Returns true if this enum value equals CtrlV


[View source]
def ctrl_w? #

Returns true if this enum value equals CtrlW


[View source]
def ctrl_x? #

Returns true if this enum value equals CtrlX


[View source]
def ctrl_y? #

Returns true if this enum value equals CtrlY


[View source]
def ctrl_z? #

Returns true if this enum value equals CtrlZ


[View source]
def delete? #

Returns true if this enum value equals Delete


[View source]
def down? #

Returns true if this enum value equals Down


[View source]
def end? #

Returns true if this enum value equals End


[View source]
def enhanced? #

Returns true if this enum value equals Enhanced


[View source]
def enter? #

Returns true if this enum value equals Enter


[View source]
def escape? #

Returns true if this enum value equals Escape


[View source]
def f10? #

Returns true if this enum value equals F10


[View source]
def f11? #

Returns true if this enum value equals F11


[View source]
def f12? #

Returns true if this enum value equals F12


[View source]
def f13? #

Returns true if this enum value equals F13


[View source]
def f14? #

Returns true if this enum value equals F14


[View source]
def f15? #

Returns true if this enum value equals F15


[View source]
def f16? #

Returns true if this enum value equals F16


[View source]
def f17? #

Returns true if this enum value equals F17


[View source]
def f18? #

Returns true if this enum value equals F18


[View source]
def f19? #

Returns true if this enum value equals F19


[View source]
def f1? #

Returns true if this enum value equals F1


[View source]
def f20? #

Returns true if this enum value equals F20


[View source]
def f21? #

Returns true if this enum value equals F21


[View source]
def f22? #

Returns true if this enum value equals F22


[View source]
def f23? #

Returns true if this enum value equals F23


[View source]
def f24? #

Returns true if this enum value equals F24


[View source]
def f2? #

Returns true if this enum value equals F2


[View source]
def f3? #

Returns true if this enum value equals F3


[View source]
def f4? #

Returns true if this enum value equals F4


[View source]
def f5? #

Returns true if this enum value equals F5


[View source]
def f6? #

Returns true if this enum value equals F6


[View source]
def f7? #

Returns true if this enum value equals F7


[View source]
def f8? #

Returns true if this enum value equals F8


[View source]
def f9? #

Returns true if this enum value equals F9


[View source]
def fix_autonumbering? #

Returns true if this enum value equals FixAutonumbering


[View source]
def home? #

Returns true if this enum value equals Home


[View source]
def insert? #

Returns true if this enum value equals Insert


[View source]
def left? #

Returns true if this enum value equals Left


[View source]
def menu? #

Returns true if this enum value equals Menu


[View source]
def mouse? #

Returns true if this enum value equals Mouse


[View source]
def osc? #

Returns true if this enum value equals Osc


[View source]
def page_down? #

Returns true if this enum value equals PageDown


[View source]
def page_up? #

Returns true if this enum value equals PageUp


[View source]
def paste_end? #

Returns true if this enum value equals PasteEnd


[View source]
def paste_start? #

Returns true if this enum value equals PasteStart


[View source]
def resize? #

Returns true if this enum value equals Resize


[View source]
def right? #

Returns true if this enum value equals Right


[View source]
def shift_delete? #

Returns true if this enum value equals ShiftDelete


[View source]
def shift_down? #

Returns true if this enum value equals ShiftDown


[View source]
def shift_end? #

Returns true if this enum value equals ShiftEnd


[View source]
def shift_home? #

Returns true if this enum value equals ShiftHome


[View source]
def shift_insert? #

Returns true if this enum value equals ShiftInsert


[View source]
def shift_left? #

Returns true if this enum value equals ShiftLeft


[View source]
def shift_page_down? #

Returns true if this enum value equals ShiftPageDown


[View source]
def shift_page_up? #

Returns true if this enum value equals ShiftPageUp


[View source]
def shift_right? #

Returns true if this enum value equals ShiftRight


[View source]
def shift_tab? #

Returns true if this enum value equals ShiftTab


[View source]
def shift_up? #

Returns true if this enum value equals ShiftUp


[View source]
def space? #

Returns true if this enum value equals Space


[View source]
def tab? #

Returns true if this enum value equals Tab


[View source]
def unknown? #

Returns true if this enum value equals Unknown


[View source]
def up? #

Returns true if this enum value equals Up


[View source]