Renames keyboard folder to keyboards, adds couple of tmk's fixes (#432)
[jackhill/qmk/firmware.git] / keyboards / atomic / atomic.h
1 #ifndef ATOMIC_H
2 #define ATOMIC_H
3
4 #include "quantum.h"
5 #include <stddef.h>
6 #include <avr/io.h>
7 #include <avr/interrupt.h>
8
9 // This a shortcut to help you visually see your layout.
10 // The following is an example using the Planck MIT layout
11 // The first section contains all of the arguements
12 // The second converts the arguments into a two-dimensional array
13 #define KEYMAP_SEMI_STANDARD( \
14 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, \
15 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
16 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \
17 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3C, K3D, K3E, \
18 K40, K41, K43, K46, K4A, K4B, K4C, K4D, K4E \
19 ) { \
20 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E }, \
21 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
22 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, K2E }, \
23 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, KC_NO, K3C, K3D, K3E }, \
24 { K40, K41, KC_NO, K43, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D, K4E } \
25 }
26
27 void matrix_init_user(void);
28 void matrix_scan_user(void);
29 bool process_action_user(keyrecord_t *record);
30 void led_set_user(uint8_t usb_led);
31 void backlight_init_ports(void);
32
33 void breathing_enable(void);
34 void breathing_pulse(void);
35 void breathing_disable(void);
36 void breathing_self_disable(void);
37 void breathing_toggle(void);
38 bool is_breathing(void);
39
40
41 void breathing_defaults(void);
42 void breathing_intensity_default(void);
43 void breathing_speed_default(void);
44 void breathing_speed_set(uint8_t value);
45 void breathing_speed_inc(uint8_t value);
46 void breathing_speed_dec(uint8_t value);
47
48
49 #endif