enum Termisu::Input::Key

Overview

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

Defined in:

termisu/input/key.cr

Enum Members

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

Constructors

Instance Method Summary

Constructor Detail

def self.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.


[View source]

Instance Method Detail

def a? : Bool #

[View source]
def ampersand? #

Returns true if this enum value equals Ampersand


[View source]
def asterisk? #

Returns true if this enum value equals Asterisk


[View source]
def at? #

Returns true if this enum value equals At


[View source]
def b? : Bool #

[View source]
def back_tab? #

Returns true if this enum value equals BackTab


[View source]
def backslash? #

Returns true if this enum value equals Backslash


[View source]
def backspace? #

Returns true if this enum value equals Backspace


[View source]
def backtick? #

Returns true if this enum value equals Backtick


[View source]
def c? : Bool #

[View source]
def caps_lock? #

Returns true if this enum value equals CapsLock


[View source]
def caret? #

Returns true if this enum value equals Caret


[View source]
def colon? #

Returns true if this enum value equals Colon


[View source]
def comma? #

Returns true if this enum value equals Comma


[View source]
def d? : Bool #

[View source]
def delete? #

Returns true if this enum value equals Delete


[View source]
def digit? : Bool #

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


[View source]
def dollar? #

Returns true if this enum value equals Dollar


[View source]
def double_quote? #

Returns true if this enum value equals DoubleQuote


[View source]
def down? #

Returns true if this enum value equals Down


[View source]
def e? : Bool #

[View source]
def end? #

Returns true if this enum value equals End


[View source]
def enter? #

Returns true if this enum value equals Enter


[View source]
def equals? #

Returns true if this enum value equals Equals


[View source]
def escape? #

Returns true if this enum value equals Escape


[View source]
def exclaim? #

Returns true if this enum value equals Exclaim


[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 f? : Bool #

[View source]
def function_key? : Bool #

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


[View source]
def g? : Bool #

[View source]
def greater_than? #

Returns true if this enum value equals GreaterThan


[View source]
def h? : Bool #

[View source]
def hash? #

Returns true if this enum value equals Hash


[View source]
def home? #

Returns true if this enum value equals Home


[View source]
def i? : Bool #

[View source]
def insert? #

Returns true if this enum value equals Insert


[View source]
def j? : Bool #

[View source]
def k? : Bool #

[View source]
def l? : Bool #

[View source]
def left? #

Returns true if this enum value equals Left


[View source]
def left_brace? #

Returns true if this enum value equals LeftBrace


[View source]
def left_bracket? #

Returns true if this enum value equals LeftBracket


[View source]
def left_paren? #

Returns true if this enum value equals LeftParen


[View source]
def less_than? #

Returns true if this enum value equals LessThan


[View source]
def letter? : Bool #

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


[View source]
def lower_a? #

Returns true if this enum value equals LowerA


[View source]
def lower_b? #

Returns true if this enum value equals LowerB


[View source]
def lower_c? #

Returns true if this enum value equals LowerC


[View source]
def lower_d? #

Returns true if this enum value equals LowerD


[View source]
def lower_e? #

Returns true if this enum value equals LowerE


[View source]
def lower_f? #

Returns true if this enum value equals LowerF


[View source]
def lower_g? #

Returns true if this enum value equals LowerG


[View source]
def lower_h? #

Returns true if this enum value equals LowerH


[View source]
def lower_i? #

Returns true if this enum value equals LowerI


[View source]
def lower_j? #

Returns true if this enum value equals LowerJ


[View source]
def lower_k? #

Returns true if this enum value equals LowerK


[View source]
def lower_l? #

Returns true if this enum value equals LowerL


[View source]
def lower_m? #

Returns true if this enum value equals LowerM


[View source]
def lower_n? #

Returns true if this enum value equals LowerN


[View source]
def lower_o? #

Returns true if this enum value equals LowerO


[View source]
def lower_p? #

Returns true if this enum value equals LowerP


[View source]
def lower_q? #

Returns true if this enum value equals LowerQ


[View source]
def lower_r? #

Returns true if this enum value equals LowerR


[View source]
def lower_s? #

Returns true if this enum value equals LowerS


[View source]
def lower_t? #

Returns true if this enum value equals LowerT


[View source]
def lower_u? #

Returns true if this enum value equals LowerU


[View source]
def lower_v? #

Returns true if this enum value equals LowerV


[View source]
def lower_w? #

Returns true if this enum value equals LowerW


[View source]
def lower_x? #

Returns true if this enum value equals LowerX


[View source]
def lower_y? #

Returns true if this enum value equals LowerY


[View source]
def lower_z? #

Returns true if this enum value equals LowerZ


[View source]
def m? : Bool #

[View source]
def minus? #

Returns true if this enum value equals Minus


[View source]
def n? : Bool #

[View source]
def navigation? : Bool #

Returns true if this is a navigation key.


[View source]
def num0? #

Returns true if this enum value equals Num0


[View source]
def num1? #

Returns true if this enum value equals Num1


[View source]
def num2? #

Returns true if this enum value equals Num2


[View source]
def num3? #

Returns true if this enum value equals Num3


[View source]
def num4? #

Returns true if this enum value equals Num4


[View source]
def num5? #

Returns true if this enum value equals Num5


[View source]
def num6? #

Returns true if this enum value equals Num6


[View source]
def num7? #

Returns true if this enum value equals Num7


[View source]
def num8? #

Returns true if this enum value equals Num8


[View source]
def num9? #

Returns true if this enum value equals Num9


[View source]
def num_lock? #

Returns true if this enum value equals NumLock


[View source]
def o? : Bool #

[View source]
def p? : Bool #

[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 pause? #

Returns true if this enum value equals Pause


[View source]
def percent? #

Returns true if this enum value equals Percent


[View source]
def period? #

Returns true if this enum value equals Period


[View source]
def pipe? #

Returns true if this enum value equals Pipe


[View source]
def plus? #

Returns true if this enum value equals Plus


[View source]
def print_screen? #

Returns true if this enum value equals PrintScreen


[View source]
def printable? : Bool #

Returns true if this key produces a printable character.


[View source]
def q? : Bool #

[View source]
def question? #

Returns true if this enum value equals Question


[View source]
def quote? #

Returns true if this enum value equals Quote


[View source]
def r? : Bool #

[View source]
def right? #

Returns true if this enum value equals Right


[View source]
def right_brace? #

Returns true if this enum value equals RightBrace


[View source]
def right_bracket? #

Returns true if this enum value equals RightBracket


[View source]
def right_paren? #

Returns true if this enum value equals RightParen


[View source]
def s? : Bool #

[View source]
def scroll_lock? #

Returns true if this enum value equals ScrollLock


[View source]
def semicolon? #

Returns true if this enum value equals Semicolon


[View source]
def slash? #

Returns true if this enum value equals Slash


[View source]
def space? #

Returns true if this enum value equals Space


[View source]
def t? : Bool #

[View source]
def tab? #

Returns true if this enum value equals Tab


[View source]
def tilde? #

Returns true if this enum value equals Tilde


[View source]
def to_char : Char | Nil #

Returns the character representation of this key, if printable.


[View source]
def u? : Bool #

[View source]
def underscore? #

Returns true if this enum value equals Underscore


[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]
def upper_a? #

Returns true if this enum value equals UpperA


[View source]
def upper_b? #

Returns true if this enum value equals UpperB


[View source]
def upper_c? #

Returns true if this enum value equals UpperC


[View source]
def upper_d? #

Returns true if this enum value equals UpperD


[View source]
def upper_e? #

Returns true if this enum value equals UpperE


[View source]
def upper_f? #

Returns true if this enum value equals UpperF


[View source]
def upper_g? #

Returns true if this enum value equals UpperG


[View source]
def upper_h? #

Returns true if this enum value equals UpperH


[View source]
def upper_i? #

Returns true if this enum value equals UpperI


[View source]
def upper_j? #

Returns true if this enum value equals UpperJ


[View source]
def upper_k? #

Returns true if this enum value equals UpperK


[View source]
def upper_l? #

Returns true if this enum value equals UpperL


[View source]
def upper_m? #

Returns true if this enum value equals UpperM


[View source]
def upper_n? #

Returns true if this enum value equals UpperN


[View source]
def upper_o? #

Returns true if this enum value equals UpperO


[View source]
def upper_p? #

Returns true if this enum value equals UpperP


[View source]
def upper_q? #

Returns true if this enum value equals UpperQ


[View source]
def upper_r? #

Returns true if this enum value equals UpperR


[View source]
def upper_s? #

Returns true if this enum value equals UpperS


[View source]
def upper_t? #

Returns true if this enum value equals UpperT


[View source]
def upper_u? #

Returns true if this enum value equals UpperU


[View source]
def upper_v? #

Returns true if this enum value equals UpperV


[View source]
def upper_w? #

Returns true if this enum value equals UpperW


[View source]
def upper_x? #

Returns true if this enum value equals UpperX


[View source]
def upper_y? #

Returns true if this enum value equals UpperY


[View source]
def upper_z? #

Returns true if this enum value equals UpperZ


[View source]
def v? : Bool #

[View source]
def w? : Bool #

[View source]
def x? : Bool #

[View source]
def y? : Bool #

[View source]
def z? : Bool #

[View source]