]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/ergodox/infinity/infinity.h
Merge remote-tracking branch 'refs/remotes/jackhumbert/master'
[qmk_firmware.git] / keyboards / ergodox / infinity / infinity.h
1 #ifndef KEYBOARDS_ERGODOX_INFINITY_INFINITY_H_
2 #define KEYBOARDS_ERGODOX_INFINITY_INFINITY_H_
3
4 #include "quantum.h"
5
6 void ergodox_board_led_on(void);
7 void ergodox_right_led_1_on(void);
8 void ergodox_right_led_2_on(void);
9 void ergodox_right_led_3_on(void);
10 void ergodox_right_led_on(uint8_t led);
11
12 void ergodox_board_led_off(void);
13 void ergodox_right_led_1_off(void);
14 void ergodox_right_led_2_off(void);
15 void ergodox_right_led_3_off(void);
16 void ergodox_right_led_off(uint8_t led);
17
18 inline void ergodox_led_all_on(void)
19 {
20     ergodox_board_led_on();
21     ergodox_right_led_1_on();
22     ergodox_right_led_2_on();
23     ergodox_right_led_3_on();
24 }
25
26 inline void ergodox_led_all_off(void)
27 {
28     ergodox_board_led_off();
29     ergodox_right_led_1_off();
30     ergodox_right_led_2_off();
31     ergodox_right_led_3_off();
32 }
33
34 inline void ergodox_right_led_1_set(uint8_t n){
35         if (n) {
36                 ergodox_right_led_1_on();
37         } else {
38                 ergodox_right_led_1_off();
39         }
40 }
41
42 inline void ergodox_right_led_2_set(uint8_t n){
43         if (n) {
44                 ergodox_right_led_2_on();
45         } else {
46                 ergodox_right_led_2_off();
47         }
48 }
49
50 inline void ergodox_right_led_3_set(uint8_t n){
51         if (n) {
52                 ergodox_right_led_3_on();
53         } else {
54                 ergodox_right_led_3_off();
55         }
56 }
57
58 inline void ergodox_right_led_set(uint8_t led, uint8_t n){
59         if (n) {
60                 ergodox_right_led_on(led);
61         } else {
62                 ergodox_right_led_off(led);
63         }
64 }
65
66 inline void ergodox_led_all_set(uint8_t n) {
67     ergodox_right_led_1_set(n);
68     ergodox_right_led_2_set(n);
69     ergodox_right_led_3_set(n);
70 }
71
72 #define KEYMAP( \
73     A80, A70, A60, A50, A40, A30, A20,  \
74     A81, A71, A61, A51, A41, A31, A21,  \
75     A82, A72, A62, A52, A42, A32,       \
76     A83, A73, A63, A53, A43, A33, A23,  \
77     A84, A74, A64, A54, A44,            \
78                                   A13, A03, \
79                                        A04, \
80                              A34, A24, A14, \
81          B20, B30, B40, B50, B60, B70, B80, \
82          B21, B31, B41, B51, B61, B71, B81, \
83               B32, B42, B52, B62, B72, B82, \
84          B23, B33, B43, B53, B63, B73, B83, \
85                    B44, B54, B64, B74, B84, \
86     B03, B13,     \
87     B04,          \
88     B14, B24, B34 \
89 ) { \
90     { KC_NO, KC_NO, KC_NO, A03,   A04 }, \
91     { KC_NO, KC_NO, KC_NO, A13,   A14 }, \
92     { A20,   A21,   KC_NO, A23,   A24 }, \
93     { A30,   A31,   A32,   A33,   A34 }, \
94     { A40,   A41,   A42,   A43,   A44 }, \
95     { A50,   A51,   A52,   A53,   A54 }, \
96     { A60,   A61,   A62,   A63,   A64 }, \
97     { A70,   A71,   A72,   A73,   A74 }, \
98     { A80,   A81,   A82,   A83,   A84 }, \
99     { KC_NO, KC_NO, KC_NO, B03,   B04 }, \
100     { KC_NO, KC_NO, KC_NO, B13,   B14 }, \
101     { B20,   B21,   KC_NO, B23,   B24 }, \
102     { B30,   B31,   B32,   B33,   B34 }, \
103     { B40,   B41,   B42,   B43,   B44 }, \
104     { B50,   B51,   B52,   B53,   B54 }, \
105     { B60,   B61,   B62,   B63,   B64 }, \
106     { B70,   B71,   B72,   B73,   B74 }, \
107     { B80,   B81,   B82,   B83,   B84 }  \
108 }
109
110 #endif /* KEYBOARDS_ERGODOX_INFINITY_INFINITY_H_ */