#[repr(i32)]pub enum PhysicalKey {
Show 165 variants
None = 0,
Backquote = 1,
Backslash = 2,
BracketLeft = 3,
BracketRight = 4,
Comma = 5,
Digit0 = 6,
Digit1 = 7,
Digit2 = 8,
Digit3 = 9,
Digit4 = 10,
Digit5 = 11,
Digit6 = 12,
Digit7 = 13,
Digit8 = 14,
Digit9 = 15,
Equal = 16,
IntlBackslash = 17,
IntlRo = 18,
IntlYen = 19,
A = 20,
B = 21,
C = 22,
D = 23,
E = 24,
F = 25,
G = 26,
H = 27,
I = 28,
J = 29,
K = 30,
L = 31,
M = 32,
N = 33,
O = 34,
P = 35,
Q = 36,
R = 37,
S = 38,
T = 39,
U = 40,
V = 41,
W = 42,
X = 43,
Y = 44,
Z = 45,
Minus = 46,
Period = 47,
Quote = 48,
Semicolon = 49,
Slash = 50,
AltLeft = 51,
AltRight = 52,
Backspace = 53,
CapsLock = 54,
ContextMenu = 55,
ControlLeft = 56,
ControlRight = 57,
Enter = 58,
MetaLeft = 59,
MetaRight = 60,
ShiftLeft = 61,
ShiftRight = 62,
Space = 63,
Tab = 64,
Convert = 65,
KanaMode = 66,
Lang1 = 67,
Lang2 = 68,
Lang3 = 69,
Lang4 = 70,
Lang5 = 71,
NonConvert = 72,
Delete = 73,
End = 74,
Help = 75,
Home = 76,
Insert = 77,
PageDown = 78,
PageUp = 79,
ArrowDown = 80,
ArrowLeft = 81,
ArrowRight = 82,
ArrowUp = 83,
NumLock = 84,
NumPad0 = 85,
NumPad1 = 86,
NumPad2 = 87,
NumPad3 = 88,
NumPad4 = 89,
NumPad5 = 90,
NumPad6 = 91,
NumPad7 = 92,
NumPad8 = 93,
NumPad9 = 94,
NumPadAdd = 95,
NumPadClear = 96,
NumPadComma = 97,
NumPadDecimal = 98,
NumPadDivide = 99,
NumPadEnter = 100,
NumPadEqual = 101,
NumPadMultiply = 102,
NumPadParenLeft = 103,
NumPadParenRight = 104,
NumPadSubtract = 105,
Escape = 106,
F1 = 107,
F2 = 108,
F3 = 109,
F4 = 110,
F5 = 111,
F6 = 112,
F7 = 113,
F8 = 114,
F9 = 115,
F10 = 116,
F11 = 117,
F12 = 118,
F13 = 119,
F14 = 120,
F15 = 121,
F16 = 122,
F17 = 123,
F18 = 124,
F19 = 125,
F20 = 126,
F21 = 127,
F22 = 128,
F23 = 129,
F24 = 130,
PrintScreen = 131,
ScrollLock = 132,
Pause = 133,
BrowserBack = 134,
BrowserFavorites = 135,
BrowserForward = 136,
BrowserHome = 137,
BrowserRefresh = 138,
BrowserSearch = 139,
BrowserStop = 140,
Eject = 141,
LaunchApp1 = 142,
LaunchApp2 = 143,
LaunchMail = 144,
MediaPlayPause = 145,
MediaSelect = 146,
MediaStop = 147,
MediaTrackNext = 148,
MediaTrackPrevious = 149,
Power = 150,
Sleep = 151,
AudioVolumeDown = 152,
AudioVolumeMute = 153,
AudioVolumeUp = 154,
WakeUp = 155,
Again = 156,
Copy = 157,
Cut = 158,
Find = 159,
Open = 160,
Paste = 161,
Props = 162,
Select = 163,
Undo = 164,
}Expand description
Represents a keyboard physical key.
The names follow the W3C codes, see https://www.w3.org/TR/uievents-code/.
Variants§
None = 0
Represents no key.
Backquote = 1
``~on a US keyboard. This is the半角/全角/漢字` (hankaku/zenkaku/kanji) key on Japanese keyboards.
Backslash = 2
Used for both the US \| (on the 101-key layout) and also for the key located between the " and
Enter keys on row C of the 102-, 104- and 106-key layouts.
#~ on a UK (102) keyboard.
BracketLeft = 3
[{ on a US keyboard.
BracketRight = 4
]} on a US keyboard.
Comma = 5
,< on a US keyboard.
Digit0 = 6
0) on a US keyboard.
Digit1 = 7
1! on a US keyboard.
Digit2 = 8
2@ on a US keyboard.
Digit3 = 9
3# on a US keyboard.
Digit4 = 10
4$ on a US keyboard.
Digit5 = 11
5% on a US keyboard.
Digit6 = 12
6^ on a US keyboard.
Digit7 = 13
7& on a US keyboard.
Digit8 = 14
8* on a US keyboard.
Digit9 = 15
9( on a US keyboard.
Equal = 16
=+ on a US keyboard.
IntlBackslash = 17
Located between the left Shift and Z keys.
\| on a UK keyboard.
IntlRo = 18
Located between the / and right Shift keys.
\ろ (ro) on a Japanese keyboard.
IntlYen = 19
Located between the = and Backspace keys.
¥ (yen) on a Japanese keyboard.
\/ on a Russian keyboard.
A = 20
a on a US keyboard.
q on an AZERTY (e.g., French) keyboard.
B = 21
b on a US keyboard.
C = 22
c on a US keyboard.
D = 23
d on a US keyboard.
E = 24
e on a US keyboard.
F = 25
f on a US keyboard.
G = 26
g on a US keyboard.
H = 27
h on a US keyboard.
I = 28
i on a US keyboard.
J = 29
j on a US keyboard.
K = 30
k on a US keyboard.
L = 31
l on a US keyboard.
M = 32
m on a US keyboard.
N = 33
n on a US keyboard.
O = 34
o on a US keyboard.
P = 35
p on a US keyboard.
Q = 36
q on a US keyboard.
a on an AZERTY (e.g., French) keyboard.
R = 37
r on a US keyboard.
S = 38
s on a US keyboard.
T = 39
t on a US keyboard.
U = 40
u on a US keyboard.
V = 41
v on a US keyboard.
W = 42
w on a US keyboard.
z on an AZERTY (e.g., French) keyboard.
X = 43
x on a US keyboard.
Y = 44
y on a US keyboard.
z on a QWERTZ (e.g., German) keyboard.
Z = 45
z on a US keyboard.
w on an AZERTY (e.g., French) keyboard.
y on a QWERTZ (e.g., German) keyboard.
Minus = 46
-_ on a US keyboard.
Period = 47
.> on a US keyboard.
Quote = 48
'" on a US keyboard.
Semicolon = 49
;: on a US keyboard.
Slash = 50
/? on a US keyboard.
AltLeft = 51
Alt, Option or ⌥.
AltRight = 52
Alt, Option or ⌥.
This is labelled AltGr key on many keyboard layouts.
Backspace = 53
Backspace or ⌫.
Labelled Delete on Apple keyboards.
CapsLock = 54
CapsLock or ⇪.
ContextMenu = 55
The application context menu key, which is typically found between the right Meta key
and the right Control key.
ControlLeft = 56
Control or ⌃.
ControlRight = 57
Control or ⌃.
Enter = 58
Enter or ↵.
Labelled Return on Apple keyboards.
MetaLeft = 59
The ⊞ (Windows), ⌘, Command or other OS symbol key.
MetaRight = 60
The ⊞ (Windows), ⌘, Command or other OS symbol key.
ShiftLeft = 61
Shift or ⇧.
ShiftRight = 62
Shift or ⇧.
Space = 63
(space).
Tab = 64
Tab or ⇥.
Convert = 65
Japanese: 変換 (henkan).
KanaMode = 66
Japanese: カタカナ/ひらがな/ローマ字 (katakana/hiragana/romaji).
Lang1 = 67
Korean: HangulMode 한/영 (han/yeong).
Japanese (Mac keyboard): かな (kana).
Lang2 = 68
Korean: Hanja 한자 (hanja).
Japanese (Mac keyboard): 英数 (eisu).
Lang3 = 69
Japanese (word-processing keyboard): Katakana.
Lang4 = 70
Japanese (word-processing keyboard): Hiragana.
Lang5 = 71
Japanese (word-processing keyboard): Zenkaku/Hankaku.
NonConvert = 72
Japanese: 無変換 (muhenkan).
Delete = 73
⌦. The forward delete key.
Note that on Apple keyboards, the key labelled Delete on the main part of the keyboard is
Backspace.
End = 74
End or ↘.
Help = 75
Help.
Not present on standard PC keyboards.
Home = 76
Home or ↖.
Insert = 77
Insert or Ins.
Not present on Apple keyboards.
PageDown = 78
Page Down, PgDn or ⇟.
PageUp = 79
Page Up, PgUp or ⇞.
ArrowDown = 80
↓.
ArrowLeft = 81
←.
ArrowRight = 82
→.
ArrowUp = 83
↑.
NumLock = 84
Numeric keypad Num Lock.
On the Mac, this is used for the numpad Clear key.
NumPad0 = 85
Numeric keypad 0 Ins on a keyboard.
0 on a phone or remote control.
NumPad1 = 86
Numeric keypad 1 End on a keyboard.
1 or 1 QZ on a phone or remote control.
NumPad2 = 87
Numeric keypad 2 ↓ on a keyboard.
2 ABC on a phone or remote control.
NumPad3 = 88
Numeric keypad 3 PgDn on a keyboard.
3 DEF on a phone or remote control.
NumPad4 = 89
Numeric keypad 4 ← on a keyboard.
4 GHI on a phone or remote control.
NumPad5 = 90
Numeric keypad 5 on a keyboard.
5 JKL on a phone or remote control.
NumPad6 = 91
Numeric keypad 6 → on a keyboard.
6 MNO on a phone or remote control.
NumPad7 = 92
Numeric keypad 7 Home on a keyboard.
7 PQRS or 7 PRS on a phone or remote control.
NumPad8 = 93
Numeric keypad 8 ↑ on a keyboard.
8 TUV on a phone or remote control.
NumPad9 = 94
Numeric keypad 9 PgUp on a keyboard.
9 WXYZ or 9 WXY on a phone or remote control.
NumPadAdd = 95
Numeric keypad +.
NumPadClear = 96
Numeric keypad C or AC (All Clear).
Also for use with numpads that have a Clear key that is separate from the NumLock key.
On the Mac, the numpad Clear key is NumLock.
NumPadComma = 97
Numeric keypad , (thousands separator).
For locales where the thousands separator is a “.” (e.g., Brazil), this key may generate a ..
NumPadDecimal = 98
Numeric keypad . Del.
For locales where the decimal separator is “,” (e.g., Brazil), this key may generate a ,.
NumPadDivide = 99
Numeric keypad /.
NumPadEnter = 100
Numeric keypad Enter.
NumPadEqual = 101
Numeric keypad =.
NumPadMultiply = 102
Numeric keypad * on a keyboard.
For use with numpads that provide mathematical operations (+, -, * and /).
NumPadParenLeft = 103
Numeric keypad (.
Found on the Microsoft Natural Keyboard.
NumPadParenRight = 104
Numeric keypad ).
Found on the Microsoft Natural Keyboard.
NumPadSubtract = 105
Numeric keypad -.
Escape = 106
Esc or ⎋.
F1 = 107
F1.
F2 = 108
F2.
F3 = 109
F3.
F4 = 110
F4.
F5 = 111
F5.
F6 = 112
F6.
F7 = 113
F7.
F8 = 114
F8.
F9 = 115
F9.
F10 = 116
F10.
F11 = 117
F11.
F12 = 118
F12.
F13 = 119
F13.
F14 = 120
F14.
F15 = 121
F15.
F16 = 122
F16.
F17 = 123
F17.
F18 = 124
F18.
F19 = 125
F19.
F20 = 126
F20.
F21 = 127
F21.
F22 = 128
F22.
F23 = 129
F23.
F24 = 130
F24.
PrintScreen = 131
PrtScr SysRq or Print Screen.
ScrollLock = 132
Scroll Lock.
Pause = 133
Pause Break.
BrowserBack = 134
Browser Back.
Some laptops place this key to the left of the ↑ key.
BrowserFavorites = 135
Browser Favorites.
BrowserForward = 136
Browser Forward.
Some laptops place this key to the right of the ↑ key.
BrowserHome = 137
Browser Home.
BrowserRefresh = 138
Browser Refresh.
BrowserSearch = 139
Browser Search.
BrowserStop = 140
Browser Stop.
Eject = 141
Eject or ⏏.
This key is placed in the function section on some Apple keyboards.
LaunchApp1 = 142
App 1.
Sometimes labelled My Computer on the keyboard.
LaunchApp2 = 143
App 2.
Sometimes labelled Calculator on the keyboard.
LaunchMail = 144
Mail.
MediaPlayPause = 145
Media Play/Pause or ⏵⏸.
MediaSelect = 146
Media Select.
MediaStop = 147
Media Stop or ⏹.
MediaTrackNext = 148
Media Next or ⏭.
MediaTrackPrevious = 149
Media Previous or ⏮.
Power = 150
Power.
Sleep = 151
Sleep.
AudioVolumeDown = 152
Volume Down.
AudioVolumeMute = 153
Mute.
AudioVolumeUp = 154
Volume Up.
WakeUp = 155
Wake Up.
Again = 156
Again.
Legacy.
Found on Sun’s USB keyboard.
Copy = 157
Copy.
Legacy.
Found on Sun’s USB keyboard.
Cut = 158
Cut.
Legacy.
Found on Sun’s USB keyboard.
Find = 159
Find.
Legacy.
Found on Sun’s USB keyboard.
Open = 160
Open.
Legacy.
Found on Sun’s USB keyboard.
Paste = 161
Paste.
Legacy.
Found on Sun’s USB keyboard.
Props = 162
Props.
Legacy.
Found on Sun’s USB keyboard.
Select = 163
Select.
Legacy.
Found on Sun’s USB keyboard.
Undo = 164
Undo.
Legacy.
Found on Sun’s USB keyboard.
Implementations§
Source§impl PhysicalKey
impl PhysicalKey
Sourcepub fn from_value(value: i32) -> Option<PhysicalKey>
pub fn from_value(value: i32) -> Option<PhysicalKey>
The member with the given numeric value, if one is defined.
Sourcepub fn name(self) -> &'static str
pub fn name(self) -> &'static str
The name of the member. For values with several names this is the first one declared.
Sourcepub fn parse(s: &str) -> Result<PhysicalKey, ParsePhysicalKeyError>
pub fn parse(s: &str) -> Result<PhysicalKey, ParsePhysicalKeyError>
Parses a member name (ignoring case, aliases included) or the numeric value of a defined member.
Source§impl PhysicalKey
impl PhysicalKey
Sourcepub fn to_qwerty_key(self) -> Key
pub fn to_qwerty_key(self) -> Key
Maps a physical key to a corresponding key, if possible, on a QWERTY
keyboard. Returns Key::None when there is none.
Sourcepub fn to_qwerty_key_symbol(
self,
use_shift_modifier: bool,
) -> Option<&'static str>
pub fn to_qwerty_key_symbol( self, use_shift_modifier: bool, ) -> Option<&'static str>
Maps a physical key to a corresponding key symbol, if possible, on a
QWERTY keyboard. use_shift_modifier indicates whether the Shift key
is considered pressed.
Trait Implementations§
Source§impl Clone for PhysicalKey
impl Clone for PhysicalKey
impl Copy for PhysicalKey
Source§impl Debug for PhysicalKey
impl Debug for PhysicalKey
Source§impl Default for PhysicalKey
impl Default for PhysicalKey
Source§impl Display for PhysicalKey
impl Display for PhysicalKey
impl Eq for PhysicalKey
Source§impl FromStr for PhysicalKey
impl FromStr for PhysicalKey
Source§impl Hash for PhysicalKey
impl Hash for PhysicalKey
Source§impl MarkupTyped for PhysicalKey
impl MarkupTyped for PhysicalKey
Source§const MARKUP: &'static MarkupType
const MARKUP: &'static MarkupType
Source§impl Ord for PhysicalKey
impl Ord for PhysicalKey
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
1.21.0 (const: unstable) · Source§fn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for PhysicalKey
impl PartialEq for PhysicalKey
Source§impl PartialOrd for PhysicalKey
impl PartialOrd for PhysicalKey
impl StructuralPartialEq for PhysicalKey
Auto Trait Implementations§
impl Freeze for PhysicalKey
impl RefUnwindSafe for PhysicalKey
impl Send for PhysicalKey
impl Sync for PhysicalKey
impl Unpin for PhysicalKey
impl UnsafeUnpin for PhysicalKey
impl UnwindSafe for PhysicalKey
Blanket Implementations§
Source§impl<T> AnyValue for Twhere
T: PartialEq + 'static,
impl<T> AnyValue for Twhere
T: PartialEq + 'static,
fn any_value_as_any(&self) -> &(dyn Any + 'static)
fn any_value_eq(&self, other: &(dyn AnyValue + 'static)) -> bool
fn any_value_type_name(&self) -> &'static str
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> ClassDefaults for Twhere
T: ?Sized,
impl<T> ClassDefaults for Twhere
T: ?Sized,
Source§fn static_constructor()
fn static_constructor()
affects_render, metadata
overrides). Read more