RKTK API Docs RKTK Home Repo

rktk_keymanager/keycode/
special.rs

1//! Special keys.
2
3use macro_rules_attribute::apply;
4
5use crate::macros::{common_derive, impl_display, with_consts};
6
7/// Represents special keys.
8///
9/// "Special Key" is a key that is not intended to be sent externally. There are two types of keys in this category:
10/// 1. "Transparent" keys
11///    These keys have no meaning in this crate. If these keys are pressed, its information are
12///    passed through transparent report to caller.
13/// 2. Keys that determine the behavior of rktk-keymanager
14///    These keys are used to control the behavior of rktk-keymanager.
15///    For example, while `MoScrl` key is pressed, mouse event is converted to scroll event.
16#[apply(with_consts)]
17#[apply(common_derive)]
18#[derive(Copy, strum::EnumIter, strum::IntoStaticStr)]
19pub enum Special {
20    MoScrl,
21    AmlReset,
22}
23
24impl_display!(Special);