enum Eagle::Key

Overview

A physical key, named after its position on a US keyboard.

Keys are layout-independent: Key::W is the key above S whether the player uses QWERTY, AZERTY or Dvorak, which is what you want for movement. For typed text, use TextEvent or TextInput instead.

Naming: Num1 to Num0 are the digits above the letters, Kp0 to KpEnter are the numeric keypad, Grave is the backtick key, and LGui/RGui are the Command or Windows keys. Count is not a key; it sizes internal tables.

Input.pressed?(Key::Space)
Input.down?(Key::LShift)
Key.named?("escape") # => Key::Escape, for loading bindings from a config file

Defined in:

eagle/input/keys.cr

Enum Members

Unknown = 0
A = 4
B = 5
C = 6
D = 7
E = 8
F = 9
G = 10
H = 11
I = 12
J = 13
K = 14
L = 15
M = 16
N = 17
O = 18
P = 19
Q = 20
R = 21
S = 22
T = 23
U = 24
V = 25
W = 26
X = 27
Y = 28
Z = 29
Num1 = 30
Num2 = 31
Num3 = 32
Num4 = 33
Num5 = 34
Num6 = 35
Num7 = 36
Num8 = 37
Num9 = 38
Num0 = 39
Enter = 40
Escape = 41
Backspace = 42
Tab = 43
Space = 44
Minus = 45
Equals = 46
LeftBracket = 47
RightBracket = 48
Backslash = 49
Semicolon = 51
Apostrophe = 52
Grave = 53
Comma = 54
Period = 55
Slash = 56
CapsLock = 57
F1 = 58
F2 = 59
F3 = 60
F4 = 61
F5 = 62
F6 = 63
F7 = 64
F8 = 65
F9 = 66
F10 = 67
F11 = 68
F12 = 69
PrintScreen = 70
ScrollLock = 71
Pause = 72
Insert = 73
Home = 74
PageUp = 75
Delete = 76
End = 77
PageDown = 78
Right = 79
Left = 80
Down = 81
Up = 82
NumLock = 83
KpDivide = 84
KpMultiply = 85
KpMinus = 86
KpPlus = 87
KpEnter = 88
Kp1 = 89
Kp2 = 90
Kp3 = 91
Kp4 = 92
Kp5 = 93
Kp6 = 94
Kp7 = 95
Kp8 = 96
Kp9 = 97
Kp0 = 98
KpPeriod = 99
LCtrl = 224
LShift = 225
LAlt = 226
LGui = 227
RCtrl = 228
RShift = 229
RAlt = 230
RGui = 231
Count = 512

Class Method Summary

Instance Method Summary

Class Method Detail

def self.named?(name : String) : Key | Nil #

Looks up a key by name, ignoring case. Returns nil for unknown names.


Instance Method Detail

def a? #

Returns true if this enum value equals A


def apostrophe? #

Returns true if this enum value equals Apostrophe


def b? #

Returns true if this enum value equals B


def backslash? #

Returns true if this enum value equals Backslash


def backspace? #

Returns true if this enum value equals Backspace


def c? #

Returns true if this enum value equals C


def caps_lock? #

Returns true if this enum value equals CapsLock


def comma? #

Returns true if this enum value equals Comma


def count? #

Returns true if this enum value equals Count


def d? #

Returns true if this enum value equals D


def delete? #

Returns true if this enum value equals Delete


def down? #

Returns true if this enum value equals Down


def e? #

Returns true if this enum value equals E


def end? #

Returns true if this enum value equals End


def enter? #

Returns true if this enum value equals Enter


def equals? #

Returns true if this enum value equals Equals


def escape? #

Returns true if this enum value equals Escape


def f10? #

Returns true if this enum value equals F10


def f11? #

Returns true if this enum value equals F11


def f12? #

Returns true if this enum value equals F12


def f1? #

Returns true if this enum value equals F1


def f2? #

Returns true if this enum value equals F2


def f3? #

Returns true if this enum value equals F3


def f4? #

Returns true if this enum value equals F4


def f5? #

Returns true if this enum value equals F5


def f6? #

Returns true if this enum value equals F6


def f7? #

Returns true if this enum value equals F7


def f8? #

Returns true if this enum value equals F8


def f9? #

Returns true if this enum value equals F9


def f? #

Returns true if this enum value equals F


def g? #

Returns true if this enum value equals G


def grave? #

Returns true if this enum value equals Grave


def h? #

Returns true if this enum value equals H


def home? #

Returns true if this enum value equals Home


def i? #

Returns true if this enum value equals I


def insert? #

Returns true if this enum value equals Insert


def j? #

Returns true if this enum value equals J


def k? #

Returns true if this enum value equals K


def kp0? #

Returns true if this enum value equals Kp0


def kp1? #

Returns true if this enum value equals Kp1


def kp2? #

Returns true if this enum value equals Kp2


def kp3? #

Returns true if this enum value equals Kp3


def kp4? #

Returns true if this enum value equals Kp4


def kp5? #

Returns true if this enum value equals Kp5


def kp6? #

Returns true if this enum value equals Kp6


def kp7? #

Returns true if this enum value equals Kp7


def kp8? #

Returns true if this enum value equals Kp8


def kp9? #

Returns true if this enum value equals Kp9


def kp_divide? #

Returns true if this enum value equals KpDivide


def kp_enter? #

Returns true if this enum value equals KpEnter


def kp_minus? #

Returns true if this enum value equals KpMinus


def kp_multiply? #

Returns true if this enum value equals KpMultiply


def kp_period? #

Returns true if this enum value equals KpPeriod


def kp_plus? #

Returns true if this enum value equals KpPlus


def l? #

Returns true if this enum value equals L


def l_alt? #

Returns true if this enum value equals LAlt


def l_ctrl? #

Returns true if this enum value equals LCtrl


def l_gui? #

Returns true if this enum value equals LGui


def l_shift? #

Returns true if this enum value equals LShift


def left? #

Returns true if this enum value equals Left


def left_bracket? #

Returns true if this enum value equals LeftBracket


def m? #

Returns true if this enum value equals M


def minus? #

Returns true if this enum value equals Minus


def n? #

Returns true if this enum value equals N


def num0? #

Returns true if this enum value equals Num0


def num1? #

Returns true if this enum value equals Num1


def num2? #

Returns true if this enum value equals Num2


def num3? #

Returns true if this enum value equals Num3


def num4? #

Returns true if this enum value equals Num4


def num5? #

Returns true if this enum value equals Num5


def num6? #

Returns true if this enum value equals Num6


def num7? #

Returns true if this enum value equals Num7


def num8? #

Returns true if this enum value equals Num8


def num9? #

Returns true if this enum value equals Num9


def num_lock? #

Returns true if this enum value equals NumLock


def o? #

Returns true if this enum value equals O


def p? #

Returns true if this enum value equals P


def page_down? #

Returns true if this enum value equals PageDown


def page_up? #

Returns true if this enum value equals PageUp


def pause? #

Returns true if this enum value equals Pause


def period? #

Returns true if this enum value equals Period


def print_screen? #

Returns true if this enum value equals PrintScreen


def q? #

Returns true if this enum value equals Q


def r? #

Returns true if this enum value equals R


def r_alt? #

Returns true if this enum value equals RAlt


def r_ctrl? #

Returns true if this enum value equals RCtrl


def r_gui? #

Returns true if this enum value equals RGui


def r_shift? #

Returns true if this enum value equals RShift


def right? #

Returns true if this enum value equals Right


def right_bracket? #

Returns true if this enum value equals RightBracket


def s? #

Returns true if this enum value equals S


def scroll_lock? #

Returns true if this enum value equals ScrollLock


def semicolon? #

Returns true if this enum value equals Semicolon


def slash? #

Returns true if this enum value equals Slash


def space? #

Returns true if this enum value equals Space


def t? #

Returns true if this enum value equals T


def tab? #

Returns true if this enum value equals Tab


def u? #

Returns true if this enum value equals U


def unknown? #

Returns true if this enum value equals Unknown


def up? #

Returns true if this enum value equals Up


def v? #

Returns true if this enum value equals V


def w? #

Returns true if this enum value equals W


def x? #

Returns true if this enum value equals X


def y? #

Returns true if this enum value equals Y


def z? #

Returns true if this enum value equals Z