gravel_core/hotkeys/
structs.rs

1use 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}