enum

Termisu::Input::Key

Inherits Enum / Comparable / Value / Object

Key enum representing all keyboard keys.

Each key has its own enum value for type-safe key handling. Modifiers (Ctrl, Alt, Shift) are tracked separately in the Modifier flags.

Example:

event = termisu.poll_event
if event.is_a?(Termisu::Event::Key)
  case event.key
  when .escape?  then puts "Escape pressed"
  when .enter?   then puts "Enter pressed"
  when .lower_a? then puts "a pressed"
  when .upper_a? then puts "A pressed"
  end
end

Constants

UpperA = 0

Letters (uppercase A-Z)

UpperB = 1
UpperC = 2
UpperD = 3
UpperE = 4
UpperF = 5
UpperG = 6
UpperH = 7
UpperI = 8
UpperJ = 9
UpperK = 10
UpperL = 11
UpperM = 12
UpperN = 13
UpperO = 14
UpperP = 15
UpperQ = 16
UpperR = 17
UpperS = 18
UpperT = 19
UpperU = 20
UpperV = 21
UpperW = 22
UpperX = 23
UpperY = 24
UpperZ = 25
LowerA = 26

Letters (lowercase a-z)

LowerB = 27
LowerC = 28
LowerD = 29
LowerE = 30
LowerF = 31
LowerG = 32
LowerH = 33
LowerI = 34
LowerJ = 35
LowerK = 36
LowerL = 37
LowerM = 38
LowerN = 39
LowerO = 40
LowerP = 41
LowerQ = 42
LowerR = 43
LowerS = 44
LowerT = 45
LowerU = 46
LowerV = 47
LowerW = 48
LowerX = 49
LowerY = 50
LowerZ = 51
Num0 = 52

Numbers 0-9

Num1 = 53
Num2 = 54
Num3 = 55
Num4 = 56
Num5 = 57
Num6 = 58
Num7 = 59
Num8 = 60
Num9 = 61
Backtick = 62

Punctuation & Symbols (unshifted)

Minus = 63
Equals = 64
LeftBracket = 65
RightBracket = 66
Backslash = 67
Semicolon = 68
Quote = 69
Comma = 70
Period = 71
Slash = 72
Tilde = 73

Shifted symbols

Exclaim = 74
At = 75
Hash = 76
Dollar = 77
Percent = 78
Caret = 79
Ampersand = 80
Asterisk = 81
LeftParen = 82
RightParen = 83
Underscore = 84
Plus = 85
LeftBrace = 86
RightBrace = 87
Pipe = 88
Colon = 89
DoubleQuote = 90
LessThan = 91
GreaterThan = 92
Question = 93
Space = 94

Whitespace & Control

Tab = 95
Enter = 96
Backspace = 97
Escape = 98
Up = 99

Arrow keys

Down = 100
Left = 101
Right = 102
Home = 103

Navigation

End = 104
PageUp = 105
PageDown = 106
Insert = 107
Delete = 108
F1 = 109

Function keys (F1-F24)

F2 = 110
F3 = 111
F4 = 112
F5 = 113
F6 = 114
F7 = 115
F8 = 116
F9 = 117
F10 = 118
F11 = 119
F12 = 120
F13 = 121
F14 = 122
F15 = 123
F16 = 124
F17 = 125
F18 = 126
F19 = 127
F20 = 128
F21 = 129
F22 = 130
F23 = 131
F24 = 132
CapsLock = 133

Special / Modifier keys (only detectable with enhanced keyboard protocols)

ScrollLock = 134
NumLock = 135
PrintScreen = 136
Pause = 137
BackTab = 138
Unknown = 139
PasteStart = 140

Bracketed paste boundaries (DEC private mode 2004), only ever reported while Terminal#enable_bracketed_paste is active.

These are not keystrokes: they bracket a run of bytes the terminal pasted verbatim, so a caller can tell a pasted line break from one the operator typed. The bytes between them are reported unchanged — a pasted CR is still Enter with char == '\r'.

Appended after Unknown deliberately. key_code crosses the C ABI and the JS binding as a plain integer with no enum mirror on the other side (see FFI::Conversions.write_key_event), so inserting these next to the other non-character keys would renumber every key above them.

PasteEnd = 141

Constructors

from_char(c : Char) : Key

Creates a Key from a printable character.

Maps ASCII characters to their corresponding Key enum values. Returns Key::Unknown for unmapped characters.

Source

Instance methods

ampersand?

Returns true if this enum value equals Ampersand

Source
asterisk?

Returns true if this enum value equals Asterisk

Source
at?

Returns true if this enum value equals At

Source
back_tab?

Returns true if this enum value equals BackTab

Source
backslash?

Returns true if this enum value equals Backslash

Source
backspace?

Returns true if this enum value equals Backspace

Source
backtick?

Returns true if this enum value equals Backtick

Source
caps_lock?

Returns true if this enum value equals CapsLock

Source
caret?

Returns true if this enum value equals Caret

Source
colon?

Returns true if this enum value equals Colon

Source
comma?

Returns true if this enum value equals Comma

Source
delete?

Returns true if this enum value equals Delete

Source
digit?

Returns true if this is a digit key (0-9).

Source
dollar?

Returns true if this enum value equals Dollar

Source
double_quote?

Returns true if this enum value equals DoubleQuote

Source
down?

Returns true if this enum value equals Down

Source
end?

Returns true if this enum value equals End

Source
enter?

Returns true if this enum value equals Enter

Source
equals?

Returns true if this enum value equals Equals

Source
escape?

Returns true if this enum value equals Escape

Source
exclaim?

Returns true if this enum value equals Exclaim

Source
f10?

Returns true if this enum value equals F10

Source
f11?

Returns true if this enum value equals F11

Source
f12?

Returns true if this enum value equals F12

Source
f13?

Returns true if this enum value equals F13

Source
f14?

Returns true if this enum value equals F14

Source
f15?

Returns true if this enum value equals F15

Source
f16?

Returns true if this enum value equals F16

Source
f17?

Returns true if this enum value equals F17

Source
f18?

Returns true if this enum value equals F18

Source
f19?

Returns true if this enum value equals F19

Source
f1?

Returns true if this enum value equals F1

Source
f20?

Returns true if this enum value equals F20

Source
f21?

Returns true if this enum value equals F21

Source
f22?

Returns true if this enum value equals F22

Source
f23?

Returns true if this enum value equals F23

Source
f24?

Returns true if this enum value equals F24

Source
f2?

Returns true if this enum value equals F2

Source
f3?

Returns true if this enum value equals F3

Source
f4?

Returns true if this enum value equals F4

Source
f5?

Returns true if this enum value equals F5

Source
f6?

Returns true if this enum value equals F6

Source
f7?

Returns true if this enum value equals F7

Source
f8?

Returns true if this enum value equals F8

Source
f9?

Returns true if this enum value equals F9

Source
function_key?

Returns true if this is a function key (F1-F24).

Source
greater_than?

Returns true if this enum value equals GreaterThan

Source
hash?

Returns true if this enum value equals Hash

Source
home?

Returns true if this enum value equals Home

Source
insert?

Returns true if this enum value equals Insert

Source
left?

Returns true if this enum value equals Left

Source
left_brace?

Returns true if this enum value equals LeftBrace

Source
left_bracket?

Returns true if this enum value equals LeftBracket

Source
left_paren?

Returns true if this enum value equals LeftParen

Source
less_than?

Returns true if this enum value equals LessThan

Source
letter?

Returns true if this is a letter key (A-Z or a-z).

Source
lower_a?

Returns true if this enum value equals LowerA

Source
lower_b?

Returns true if this enum value equals LowerB

Source
lower_c?

Returns true if this enum value equals LowerC

Source
lower_d?

Returns true if this enum value equals LowerD

Source
lower_e?

Returns true if this enum value equals LowerE

Source
lower_f?

Returns true if this enum value equals LowerF

Source
lower_g?

Returns true if this enum value equals LowerG

Source
lower_h?

Returns true if this enum value equals LowerH

Source
lower_i?

Returns true if this enum value equals LowerI

Source
lower_j?

Returns true if this enum value equals LowerJ

Source
lower_k?

Returns true if this enum value equals LowerK

Source
lower_l?

Returns true if this enum value equals LowerL

Source
lower_m?

Returns true if this enum value equals LowerM

Source
lower_n?

Returns true if this enum value equals LowerN

Source
lower_o?

Returns true if this enum value equals LowerO

Source
lower_p?

Returns true if this enum value equals LowerP

Source
lower_q?

Returns true if this enum value equals LowerQ

Source
lower_r?

Returns true if this enum value equals LowerR

Source
lower_s?

Returns true if this enum value equals LowerS

Source
lower_t?

Returns true if this enum value equals LowerT

Source
lower_u?

Returns true if this enum value equals LowerU

Source
lower_v?

Returns true if this enum value equals LowerV

Source
lower_w?

Returns true if this enum value equals LowerW

Source
lower_x?

Returns true if this enum value equals LowerX

Source
lower_y?

Returns true if this enum value equals LowerY

Source
lower_z?

Returns true if this enum value equals LowerZ

Source
minus?

Returns true if this enum value equals Minus

Source
num0?

Returns true if this enum value equals Num0

Source
num1?

Returns true if this enum value equals Num1

Source
num2?

Returns true if this enum value equals Num2

Source
num3?

Returns true if this enum value equals Num3

Source
num4?

Returns true if this enum value equals Num4

Source
num5?

Returns true if this enum value equals Num5

Source
num6?

Returns true if this enum value equals Num6

Source
num7?

Returns true if this enum value equals Num7

Source
num8?

Returns true if this enum value equals Num8

Source
num9?

Returns true if this enum value equals Num9

Source
num_lock?

Returns true if this enum value equals NumLock

Source
page_down?

Returns true if this enum value equals PageDown

Source
page_up?

Returns true if this enum value equals PageUp

Source
paste_end?

Returns true if this enum value equals PasteEnd

Source
paste_start?

Returns true if this enum value equals PasteStart

Source
pause?

Returns true if this enum value equals Pause

Source
percent?

Returns true if this enum value equals Percent

Source
period?

Returns true if this enum value equals Period

Source
pipe?

Returns true if this enum value equals Pipe

Source
plus?

Returns true if this enum value equals Plus

Source
printable?

Returns true if this key produces a printable character.

Source
question?

Returns true if this enum value equals Question

Source
quote?

Returns true if this enum value equals Quote

Source
right?

Returns true if this enum value equals Right

Source
right_brace?

Returns true if this enum value equals RightBrace

Source
right_bracket?

Returns true if this enum value equals RightBracket

Source
right_paren?

Returns true if this enum value equals RightParen

Source
scroll_lock?

Returns true if this enum value equals ScrollLock

Source
semicolon?

Returns true if this enum value equals Semicolon

Source
slash?

Returns true if this enum value equals Slash

Source
space?

Returns true if this enum value equals Space

Source
tab?

Returns true if this enum value equals Tab

Source
tilde?

Returns true if this enum value equals Tilde

Source
to_char

Returns the character representation of this key, if printable.

Source
underscore?

Returns true if this enum value equals Underscore

Source
unknown?

Returns true if this enum value equals Unknown

Source
up?

Returns true if this enum value equals Up

Source
upper_a?

Returns true if this enum value equals UpperA

Source
upper_b?

Returns true if this enum value equals UpperB

Source
upper_c?

Returns true if this enum value equals UpperC

Source
upper_d?

Returns true if this enum value equals UpperD

Source
upper_e?

Returns true if this enum value equals UpperE

Source
upper_f?

Returns true if this enum value equals UpperF

Source
upper_g?

Returns true if this enum value equals UpperG

Source
upper_h?

Returns true if this enum value equals UpperH

Source
upper_i?

Returns true if this enum value equals UpperI

Source
upper_j?

Returns true if this enum value equals UpperJ

Source
upper_k?

Returns true if this enum value equals UpperK

Source
upper_l?

Returns true if this enum value equals UpperL

Source
upper_m?

Returns true if this enum value equals UpperM

Source
upper_n?

Returns true if this enum value equals UpperN

Source
upper_o?

Returns true if this enum value equals UpperO

Source
upper_p?

Returns true if this enum value equals UpperP

Source
upper_q?

Returns true if this enum value equals UpperQ

Source
upper_r?

Returns true if this enum value equals UpperR

Source
upper_s?

Returns true if this enum value equals UpperS

Source
upper_t?

Returns true if this enum value equals UpperT

Source
upper_u?

Returns true if this enum value equals UpperU

Source
upper_v?

Returns true if this enum value equals UpperV

Source
upper_w?

Returns true if this enum value equals UpperW

Source
upper_x?

Returns true if this enum value equals UpperX

Source
upper_y?

Returns true if this enum value equals UpperY

Source
upper_z?

Returns true if this enum value equals UpperZ

Source