devela/ui/event/key/state.rs
1// devela/src/ui/event/key/state.rs
2//
3//! Defines [`KeyState`].
4//
5
6use crate::ConstInit;
7
8#[doc = crate::_tags!(interaction)]
9/// Represents the state of a [`Key`][crate::Key].
10#[doc = crate::_doc_meta!{location("ui/event")}]
11#[repr(u8)]
12#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, Hash)]
13pub enum KeyState {
14 /// The key was pressed.
15 #[default]
16 Press,
17 /// The key was released.
18 Release,
19 /// The key was repeated.
20 Repeat,
21}
22impl ConstInit for KeyState {
23 const INIT: Self = Self::Press;
24}