pub struct State<const LAYER: usize, const ROW: usize, const COL: usize, const ENCODER_COUNT: usize, const NORMAL_MAX_PRESSED_KEYS: usize, const ONESHOT_STATE_SIZE: usize, const TAP_DANCE_MAX_DEFINITIONS: usize, const TAP_DANCE_MAX_REPEATS: usize, const COMBO_KEY_MAX_DEFINITIONS: usize, const COMBO_KEY_MAX_SOURCES: usize> { /* private fields */ }
Available on crate feature
state
only.Expand description
Represents the state of the keyboard.
Implementations§
Source§impl<const LAYER: usize, const ROW: usize, const COL: usize, const ENCODER_COUNT: usize, const NORMAL_MAX_PRESSED_KEYS: usize, const ONESHOT_STATE_SIZE: usize, const TAP_DANCE_MAX_DEFINITIONS: usize, const TAP_DANCE_MAX_REPEATS: usize, const COMBO_KEY_MAX_DEFINITIONS: usize, const COMBO_KEY_MAX_SOURCES: usize> State<LAYER, ROW, COL, ENCODER_COUNT, NORMAL_MAX_PRESSED_KEYS, ONESHOT_STATE_SIZE, TAP_DANCE_MAX_DEFINITIONS, TAP_DANCE_MAX_REPEATS, COMBO_KEY_MAX_DEFINITIONS, COMBO_KEY_MAX_SOURCES>
impl<const LAYER: usize, const ROW: usize, const COL: usize, const ENCODER_COUNT: usize, const NORMAL_MAX_PRESSED_KEYS: usize, const ONESHOT_STATE_SIZE: usize, const TAP_DANCE_MAX_DEFINITIONS: usize, const TAP_DANCE_MAX_REPEATS: usize, const COMBO_KEY_MAX_DEFINITIONS: usize, const COMBO_KEY_MAX_SOURCES: usize> State<LAYER, ROW, COL, ENCODER_COUNT, NORMAL_MAX_PRESSED_KEYS, ONESHOT_STATE_SIZE, TAP_DANCE_MAX_DEFINITIONS, TAP_DANCE_MAX_REPEATS, COMBO_KEY_MAX_DEFINITIONS, COMBO_KEY_MAX_SOURCES>
Sourcepub fn new(
keymap: Keymap<LAYER, ROW, COL, ENCODER_COUNT, TAP_DANCE_MAX_DEFINITIONS, TAP_DANCE_MAX_REPEATS, COMBO_KEY_MAX_DEFINITIONS, COMBO_KEY_MAX_SOURCES>,
config: StateConfig,
) -> Self
pub fn new( keymap: Keymap<LAYER, ROW, COL, ENCODER_COUNT, TAP_DANCE_MAX_DEFINITIONS, TAP_DANCE_MAX_REPEATS, COMBO_KEY_MAX_DEFINITIONS, COMBO_KEY_MAX_SOURCES>, config: StateConfig, ) -> Self
Creates a new state with the given keymap and configuration.
pub fn get_keymap( &self, ) -> &Keymap<LAYER, ROW, COL, ENCODER_COUNT, TAP_DANCE_MAX_DEFINITIONS, TAP_DANCE_MAX_REPEATS, COMBO_KEY_MAX_DEFINITIONS, COMBO_KEY_MAX_SOURCES>
pub fn get_config(&self) -> &StateConfig
pub fn get_layer_active(&self) -> &[bool; LAYER]
pub fn get_keymap_info() -> KeymapInfo
pub fn update( &mut self, event: InputEvent, since_last_update: Duration, cb: impl FnMut(OutputEvent), )
Auto Trait Implementations§
impl<const LAYER: usize, const ROW: usize, const COL: usize, const ENCODER_COUNT: usize, const NORMAL_MAX_PRESSED_KEYS: usize, const ONESHOT_STATE_SIZE: usize, const TAP_DANCE_MAX_DEFINITIONS: usize, const TAP_DANCE_MAX_REPEATS: usize, const COMBO_KEY_MAX_DEFINITIONS: usize, const COMBO_KEY_MAX_SOURCES: usize> Freeze for State<LAYER, ROW, COL, ENCODER_COUNT, NORMAL_MAX_PRESSED_KEYS, ONESHOT_STATE_SIZE, TAP_DANCE_MAX_DEFINITIONS, TAP_DANCE_MAX_REPEATS, COMBO_KEY_MAX_DEFINITIONS, COMBO_KEY_MAX_SOURCES>
impl<const LAYER: usize, const ROW: usize, const COL: usize, const ENCODER_COUNT: usize, const NORMAL_MAX_PRESSED_KEYS: usize, const ONESHOT_STATE_SIZE: usize, const TAP_DANCE_MAX_DEFINITIONS: usize, const TAP_DANCE_MAX_REPEATS: usize, const COMBO_KEY_MAX_DEFINITIONS: usize, const COMBO_KEY_MAX_SOURCES: usize> RefUnwindSafe for State<LAYER, ROW, COL, ENCODER_COUNT, NORMAL_MAX_PRESSED_KEYS, ONESHOT_STATE_SIZE, TAP_DANCE_MAX_DEFINITIONS, TAP_DANCE_MAX_REPEATS, COMBO_KEY_MAX_DEFINITIONS, COMBO_KEY_MAX_SOURCES>
impl<const LAYER: usize, const ROW: usize, const COL: usize, const ENCODER_COUNT: usize, const NORMAL_MAX_PRESSED_KEYS: usize, const ONESHOT_STATE_SIZE: usize, const TAP_DANCE_MAX_DEFINITIONS: usize, const TAP_DANCE_MAX_REPEATS: usize, const COMBO_KEY_MAX_DEFINITIONS: usize, const COMBO_KEY_MAX_SOURCES: usize> Send for State<LAYER, ROW, COL, ENCODER_COUNT, NORMAL_MAX_PRESSED_KEYS, ONESHOT_STATE_SIZE, TAP_DANCE_MAX_DEFINITIONS, TAP_DANCE_MAX_REPEATS, COMBO_KEY_MAX_DEFINITIONS, COMBO_KEY_MAX_SOURCES>
impl<const LAYER: usize, const ROW: usize, const COL: usize, const ENCODER_COUNT: usize, const NORMAL_MAX_PRESSED_KEYS: usize, const ONESHOT_STATE_SIZE: usize, const TAP_DANCE_MAX_DEFINITIONS: usize, const TAP_DANCE_MAX_REPEATS: usize, const COMBO_KEY_MAX_DEFINITIONS: usize, const COMBO_KEY_MAX_SOURCES: usize> Sync for State<LAYER, ROW, COL, ENCODER_COUNT, NORMAL_MAX_PRESSED_KEYS, ONESHOT_STATE_SIZE, TAP_DANCE_MAX_DEFINITIONS, TAP_DANCE_MAX_REPEATS, COMBO_KEY_MAX_DEFINITIONS, COMBO_KEY_MAX_SOURCES>
impl<const LAYER: usize, const ROW: usize, const COL: usize, const ENCODER_COUNT: usize, const NORMAL_MAX_PRESSED_KEYS: usize, const ONESHOT_STATE_SIZE: usize, const TAP_DANCE_MAX_DEFINITIONS: usize, const TAP_DANCE_MAX_REPEATS: usize, const COMBO_KEY_MAX_DEFINITIONS: usize, const COMBO_KEY_MAX_SOURCES: usize> Unpin for State<LAYER, ROW, COL, ENCODER_COUNT, NORMAL_MAX_PRESSED_KEYS, ONESHOT_STATE_SIZE, TAP_DANCE_MAX_DEFINITIONS, TAP_DANCE_MAX_REPEATS, COMBO_KEY_MAX_DEFINITIONS, COMBO_KEY_MAX_SOURCES>
impl<const LAYER: usize, const ROW: usize, const COL: usize, const ENCODER_COUNT: usize, const NORMAL_MAX_PRESSED_KEYS: usize, const ONESHOT_STATE_SIZE: usize, const TAP_DANCE_MAX_DEFINITIONS: usize, const TAP_DANCE_MAX_REPEATS: usize, const COMBO_KEY_MAX_DEFINITIONS: usize, const COMBO_KEY_MAX_SOURCES: usize> UnwindSafe for State<LAYER, ROW, COL, ENCODER_COUNT, NORMAL_MAX_PRESSED_KEYS, ONESHOT_STATE_SIZE, TAP_DANCE_MAX_DEFINITIONS, TAP_DANCE_MAX_REPEATS, COMBO_KEY_MAX_DEFINITIONS, COMBO_KEY_MAX_SOURCES>
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
Mutably borrows from an owned value. Read more