pub enum Key {
Show 96 variants
Alt,
Backspace,
Break,
Begin,
Cancel,
CapsLock,
Clear,
Command,
Control,
Delete,
DownArrow,
End,
Escape,
Execute,
F1,
F2,
F3,
F4,
F5,
F6,
F7,
F8,
F9,
F10,
F11,
F12,
F13,
F14,
F15,
F16,
F17,
F18,
F19,
F20,
F21,
F22,
F23,
F24,
F25,
F26,
F27,
F28,
F29,
F30,
F31,
F32,
F33,
F34,
F35,
Find,
Hangul,
Hanja,
Help,
Home,
Insert,
Kanji,
LControl,
LeftArrow,
Linefeed,
LMenu,
LShift,
MediaNextTrack,
MediaPlayPause,
MediaPrevTrack,
MediaStop,
Meta,
ModeChange,
Numlock,
Option,
PageDown,
PageUp,
Pause,
Print,
RControl,
Redo,
Return,
RightArrow,
RShift,
ScrollLock,
Select,
ScriptSwitch,
Shift,
ShiftLock,
Space,
Super,
SysReq,
Tab,
Undo,
UpArrow,
VolumeDown,
VolumeMute,
VolumeUp,
MicMute,
Windows,
Unicode(char),
Other(u32),
}
Expand description
Contains the available keycodes
Use Key::Unicode
to enter arbitrary Unicode chars.
If a key is missing, please open an issue in our repo and we will quickly
add it. In the mean time, you can simulate that key by using Key::Other
or the crate::Keyboard::raw
function. Some of the keys are only
available on a specific platform. Use conditional compilation to use them.
Variants§
Alt
alt key on Linux and Windows (option key on macOS)
Backspace
backspace key
Break
Begin
Cancel
CapsLock
caps lock key
Clear
Command
command key on macOS (super key on Linux, windows key on Windows)
Control
control key
Delete
delete key
DownArrow
down arrow key
End
end key
Escape
escape key (esc)
Execute
F1
F1 key
F2
F2 key
F3
F3 key
F4
F4 key
F5
F5 key
F6
F6 key
F7
F7 key
F8
F8 key
F9
F9 key
F10
F10 key
F11
F11 key
F12
F12 key
F13
F13 key
F14
F14 key
F15
F15 key
F16
F16 key
F17
F17 key
F18
F18 key
F19
F19 key
F20
F20 key
F21
F21 key
F22
F22 key
F23
F23 key
F24
F24 key
F25
F26
F27
F28
F29
F30
F31
F32
F33
F34
F35
Find
Hangul
Hanja
Help
Home
home key
Insert
Kanji
LControl
LeftArrow
left arrow key
Linefeed
LMenu
LShift
MediaNextTrack
MediaPlayPause
MediaPrevTrack
MediaStop
Meta
meta key (also known as “windows”, “super”, and “command”)
ModeChange
Numlock
Option
option key on macOS (alt key on Linux and Windows)
PageDown
page down key
PageUp
page up key
Pause
RControl
Redo
Return
return key
RightArrow
right arrow key
RShift
ScrollLock
Select
ScriptSwitch
Shift
shift key
ShiftLock
Lock shift key
Space
space key
Super
super key on linux (command key on macOS, windows key on Windows)
SysReq
Tab
tab key (tabulator)
Undo
UpArrow
up arrow key
VolumeDown
VolumeMute
VolumeUp
MicMute
microphone mute toggle on linux
Windows
windows key on Windows (super key on Linux, command key on macOS)
Unicode(char)
Unicode character
Other(u32)
Use this for keys that are not listed here that you know the
value of. Let us know if you think the key should be listed so
we can add it
On Linux, this will result in a keysym,
On Windows, this will result in a Virtual_Key
and
On macOS, this will yield a KeyCode
Trait Implementations§
source§impl<'de> Deserialize<'de> for Key
impl<'de> Deserialize<'de> for Key
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Copy for Key
impl Eq for Key
impl StructuralPartialEq for Key
Auto Trait Implementations§
impl Freeze for Key
impl RefUnwindSafe for Key
impl Send for Key
impl Sync for Key
impl Unpin for Key
impl UnwindSafe for Key
Blanket Implementations§
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.