#[non_exhaustive]
pub enum KeyLabel {
Show 129 variants
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z,
Num0,
Num1,
Num2,
Num3,
Num4,
Num5,
Num6,
Num7,
Num8,
Num9,
F1,
F2,
F3,
F4,
F5,
F6,
F7,
F8,
F9,
F10,
F11,
F12,
F13,
F14,
F15,
F16,
F17,
F18,
F19,
F20,
F21,
F22,
F23,
F24,
NumLock,
NumPad1,
NumPad2,
NumPad3,
NumPad4,
NumPad5,
NumPad6,
NumPad7,
NumPad8,
NumPad9,
NumPad0,
NumPadPlus,
NumPadMinus,
NumPadMultiply,
NumPadDivide,
NumPadEnter,
LeftCtrl,
LeftShift,
LeftAlt,
RightCtrl,
RightShift,
RightAlt,
Up,
Down,
Left,
Right,
Ampersand,
Asterisk,
At,
Backquote,
Backslash,
Backspace,
CapsLock,
Caret,
Colon,
Comma,
Delete,
Dollar,
DoubleQuote,
End,
Enter,
Equals,
Escape,
Exclaim,
GreaterThan,
Hash,
Home,
Insert,
LeftBracket,
LeftParen,
LessThan,
Minus,
PageDown,
PageUp,
Pause,
Percent,
Period,
Plus,
PrintScreen,
Question,
Quote,
RightBracket,
RightParen,
ScrollLock,
Semicolon,
Slash,
Space,
Tab,
Underscore,
}
Expand description
A key, as represented by the current system keyboard layout.
This type represents keys based on how they are labelled and what character they generate.
For example, KeyLabel::A
is the key to the right of the Caps Lock on a QWERTY keyboard,
whereas it is the key to the right of Tab on an AZERTY keyboard.
The main use case for KeyLabel
is when you need to display a key name to the player
(e.g. in tutorials, or on an input binding screen). As such, it implements Display
in a UI-friendly way. You can get the label for a given key via get_key_label
,
and the key with a given label via get_key_with_label
.
Serde
Serialization and deserialization of this type (via Serde)
can be enabled via the serde_support
feature.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.