]> git.donarmstrong.com Git - qmk_firmware.git/blob - quantum/quantum.h
adds random base64 character generator
[qmk_firmware.git] / quantum / quantum.h
1 #ifndef QUANTUM_H
2 #define QUANTUM_H
3
4 #include <avr/pgmspace.h>
5 #include "matrix.h"
6 #include "keymap.h"
7 #ifdef BACKLIGHT_ENABLE
8     #include "backlight.h"
9 #endif
10 #ifdef RGBLIGHT_ENABLE
11   #include "rgblight.h"
12 #endif
13
14 #include "action_layer.h"
15 #include "eeconfig.h"
16 #include <stddef.h>
17 #include <avr/io.h>
18 #include <util/delay.h>
19 #include "bootloader.h"
20 #include "timer.h"
21 #include "config_common.h"
22 #include <avr/interrupt.h>
23 #include "led.h"
24 #include "action_util.h"
25
26
27 extern uint32_t default_layer_state;
28
29 #ifndef NO_ACTION_LAYER
30         extern uint32_t layer_state;
31 #endif
32
33 #ifdef MIDI_ENABLE
34         #include <lufa.h>
35         #include "process_midi.h"
36 #endif
37
38 #ifdef AUDIO_ENABLE
39         #include "audio.h"
40         #include "process_music.h"
41 #endif
42
43 #ifndef DISABLE_LEADER
44         #include "process_leader.h"
45 #endif
46
47 #define DISABLE_CHORDING
48 #ifndef DISABLE_CHORDING
49         #include "process_chording.h"
50 #endif
51
52 #ifdef UNICODE_ENABLE
53         #include "process_unicode.h"
54 #endif
55
56 #include "process_tap_dance.h"
57
58 #define SEND_STRING(str) send_string(PSTR(str))
59 void send_string(const char *str);
60
61 // For tri-layer
62 void update_tri_layer(uint8_t layer1, uint8_t layer2, uint8_t layer3);
63
64 void tap_random_base64(void);
65
66 #define IS_LAYER_ON(layer)  (layer_state & (1UL << (layer)))
67 #define IS_LAYER_OFF(layer) (~layer_state & (1UL << (layer)))
68
69 void matrix_init_kb(void);
70 void matrix_scan_kb(void);
71 void matrix_init_user(void);
72 void matrix_scan_user(void);
73 bool process_action_kb(keyrecord_t *record);
74 bool process_record_kb(uint16_t keycode, keyrecord_t *record);
75 bool process_record_user(uint16_t keycode, keyrecord_t *record);
76
77 void startup_user(void);
78 void shutdown_user(void);
79
80 #ifdef BACKLIGHT_ENABLE
81 void backlight_init_ports(void);
82
83 #ifdef BACKLIGHT_BREATHING
84 void breathing_enable(void);
85 void breathing_pulse(void);
86 void breathing_disable(void);
87 void breathing_self_disable(void);
88 void breathing_toggle(void);
89 bool is_breathing(void);
90
91 void breathing_defaults(void);
92 void breathing_intensity_default(void);
93 void breathing_speed_default(void);
94 void breathing_speed_set(uint8_t value);
95 void breathing_speed_inc(uint8_t value);
96 void breathing_speed_dec(uint8_t value);
97 #endif
98
99 #endif
100
101 void led_set_user(uint8_t usb_led);
102 void led_set_kb(uint8_t usb_led);
103
104 #endif