gravel_core/hotkeys/
structs.rs1use enumflags2::{BitFlags, bitflags};
2
3#[derive(Debug, PartialEq, Eq)]
4pub struct ParsedBinding {
5 pub modifiers: BitFlags<Modifier>,
6 pub key: Key,
7}
8
9#[bitflags]
10#[repr(u8)]
11#[derive(Copy, Clone, Debug, PartialEq, Eq)]
12pub enum Modifier {
13 Alt,
14 Control,
15 Shift,
16 Super,
17}
18
19#[derive(Copy, Clone, Debug, PartialEq, Eq)]
20pub enum Key {
21 A,
22 B,
23 C,
24 D,
25 E,
26 F,
27 G,
28 H,
29 I,
30 J,
31 K,
32 L,
33 M,
34 N,
35 O,
36 P,
37 Q,
38 R,
39 S,
40 T,
41 U,
42 V,
43 W,
44 X,
45 Y,
46 Z,
47 Backspace,
48 Tab,
49 Enter,
50 CapsLock,
51 Escape,
52 Space,
53 PageUp,
54 PageDown,
55 End,
56 Home,
57 Left,
58 Right,
59 Up,
60 Down,
61 PrintScreen,
62 Insert,
63 Delete,
64}