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)]
12#[expect(clippy::use_self, reason = "inside bitflags macro expansion")]
13pub enum Modifier {
14	Alt,
15	Control,
16	Shift,
17	Super,
18}
19
20#[derive(Copy, Clone, Debug, PartialEq, Eq)]
21pub enum Key {
22	A,
23	B,
24	C,
25	D,
26	E,
27	F,
28	G,
29	H,
30	I,
31	J,
32	K,
33	L,
34	M,
35	N,
36	O,
37	P,
38	Q,
39	R,
40	S,
41	T,
42	U,
43	V,
44	W,
45	X,
46	Y,
47	Z,
48	Backspace,
49	Tab,
50	Enter,
51	CapsLock,
52	Escape,
53	Space,
54	PageUp,
55	PageDown,
56	End,
57	Home,
58	Left,
59	Right,
60	Up,
61	Down,
62	PrintScreen,
63	Insert,
64	Delete,
65}