aboutsummaryrefslogtreecommitdiff
path: root/quantum/quantum.h
diff options
context:
space:
mode:
Diffstat (limited to 'quantum/quantum.h')
-rw-r--r--quantum/quantum.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/quantum/quantum.h b/quantum/quantum.h
new file mode 100644
index 000000000..db726ad42
--- /dev/null
+++ b/quantum/quantum.h
@@ -0,0 +1,48 @@
1#ifndef QUANTUM_H
2#define QUANTUM_H
3
4#include "matrix.h"
5#include "keymap_common.h"
6#ifdef BACKLIGHT_ENABLE
7 #include "backlight.h"
8#endif
9#ifdef RGBLIGHT_ENABLE
10 #include "rgblight.h"
11#endif
12#ifdef AUDIO_ENABLE
13 #include "audio.h"
14#endif
15#ifdef MIDI_ENABLE
16 #include <keymap_midi.h>
17#endif
18#include "action_layer.h"
19#include "eeconfig.h"
20#include <stddef.h>
21#include <avr/io.h>
22
23extern uint32_t default_layer_state;
24
25#ifndef NO_ACTION_LAYER
26 extern uint32_t layer_state;
27#endif
28
29bool music_activated;
30
31void matrix_init_kb(void);
32void matrix_scan_kb(void);
33bool process_action_kb(keyrecord_t *record);
34
35void leader_start(void);
36void leader_end(void);
37
38#ifndef LEADER_TIMEOUT
39 #define LEADER_TIMEOUT 200
40#endif
41#define SEQ_ONE_KEY(key) if (leader_sequence[0] == (key) && leader_sequence[1] == 0 && leader_sequence[2] == 0)
42#define SEQ_TWO_KEYS(key1, key2) if (leader_sequence[0] == (key1) && leader_sequence[1] == (key2) && leader_sequence[2] == 0)
43#define SEQ_THREE_KEYS(key1, key2, key3) if (leader_sequence[0] == (key1) && leader_sequence[1] == (key2) && leader_sequence[2] == (key3))
44
45#define LEADER_EXTERNS() extern bool leading; extern uint16_t leader_time; extern uint16_t leader_sequence[3]; extern uint8_t leader_sequence_size
46#define LEADER_DICTIONARY() if (leading && timer_elapsed(leader_time) > LEADER_TIMEOUT)
47
48#endif \ No newline at end of file