Updated rgb_led struct field modifier to flags (#5619)
[jackhill/qmk/firmware.git] / keyboards / dztech / dz40rgb / dz40rgb.c
CommitLineData
681db534 1#include "dz40rgb.h"
2#include "config.h"
3#if defined (split_space)
4const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
5/* Refer to IS31 manual for these locations
6 * driver
7 * | R location
8 * | | G location
9 * | | | B location
10 * | | | | */
11 {0, K_12, J_12, L_12},
12 {0, K_11, J_11, L_11},
13 {0, K_10, J_10, L_10},
14 {0, K_9, J_9, L_9},
15 {0, K_8, J_8, L_8},
16 {0, K_7, J_7, L_7},
17 {0, K_6, J_6, L_6},
18 {0, K_5, J_5, L_5},
19 {0, K_4, J_4, L_4},
20 {0, K_3, J_3, L_3},
21 {0, K_2, J_2, L_2},
22 {0, K_1, J_1, L_1},
23
24 {0, K_13, J_13, L_13},
25 {0, K_14, J_14, L_14},
26
27 {0, H_12, G_12, I_12},
28 {0, H_11, G_11, I_11},
29 {0, H_10, G_10, I_10},
30 {0, H_9, G_9, I_9},
31 {0, H_8, G_8, I_8},
32 {0, H_7, G_7, I_7},
33 {0, H_6, G_6, I_6},
34 {0, H_5, G_5, I_5},
35 {0, H_4, G_4, I_4},
36 {0, H_3, G_3, I_3},
37 {0, H_2, G_2, I_2},
38 {0, H_1, G_1, I_1},
39
40 {0, H_13, G_13, I_13},
41 {0, H_14, G_14, I_14},
42
43 {0, E_12, D_12, F_12},
44 {0, E_11, D_11, F_11},
45 {0, E_10, D_10, F_10},
46 {0, E_9, D_9, F_9},
47 {0, E_8, D_8, F_8},
48 {0, E_7, D_7, F_7},
49 {0, E_6, D_6, F_6},
50 {0, E_5, D_5, F_5},
51 {0, E_4, D_4, F_4},
52 {0, E_3, D_3, F_3},
53 {0, E_2, D_2, F_2},
54 {0, E_1, D_1, F_1},
55
56 {0, E_13, D_13, F_13},
57 {0, E_14, D_14, F_14},
58
59 {0, B_12, A_12, C_12},
60 {0, B_11, A_11, C_11},
61 {0, B_10, A_10, C_10},
62 {0, B_9, A_9, C_9},
63 {0, B_8, A_8, C_8},
64 {0, B_7, A_7, C_7},
65 {0, B_6, A_6, C_6},
66 {0, B_5, A_5, C_5},
67 {0, B_4, A_4, C_4},
68 {0, B_3, A_3, C_3},
69 {0, B_2, A_2, C_2},
70 {0, B_1, A_1, C_1}
71
72};
73
a7113c8e 74rgb_led g_rgb_leds[DRIVER_LED_TOTAL] = {
681db534 75
76 {{0|(11<<4)}, {20.36*11, 0}, 1},
77 {{0|(10<<4)}, {20.36*10, 0}, 1},
78 {{0|(9<<4)}, {20.36*9, 0}, 1},
79 {{0|(8<<4)}, {20.36*8, 0}, 1},
80 {{0|(7<<4)}, {20.36*7, 0}, 1},
81 {{0|(6<<4)}, { 20.36*6, 0}, 1},
82 {{0|(5<<4)}, { 20.36*5, 0}, 1},
83 {{0|(4<<4)}, { 20.36*4, 0}, 1},
84 {{0|(3<<4)}, { 20.36*3, 0}, 1},
85 {{0|(2<<4)}, { 20.36*2, 0}, 1},
86 {{0|(1<<4)}, { 20.36*1, 0}, 1},
87 {{0|(0<<4)}, { 20.36*0, 0}, 1},
88
89 {{0|(12<<4)}, {20.36*11, 21.33*0.5}, 1},
90 {{0|(13<<4)}, {20.36*0,21.33*0.5}, 1},
91
92 {{1|(11<<4)}, {20.36*11, 21.33}, 1},
a7113c8e
X
93 {{1|(10<<4)}, {20.36*10, 21.33}, 4},
94 {{1|(9<<4)}, {20.36*9, 21.33}, 4},
95 {{1|(8<<4)}, {20.36*8, 21.33}, 4},
96 {{1|(7<<4)}, {20.36*7, 21.33}, 4},
97 {{1|(6<<4)}, { 20.36*6, 21.33}, 4},
98 {{1|(5<<4)}, { 20.36*5, 21.33}, 4},
99 {{1|(4<<4)}, { 20.36*4, 21.33}, 4},
100 {{1|(3<<4)}, { 20.36*3, 21.33}, 4},
101 {{1|(2<<4)}, { 20.36*2, 21.33}, 4},
102 {{1|(1<<4)}, { 20.36*1, 21.33}, 4},
681db534 103 {{1|(0<<4)}, { 20.36*0, 21.33}, 1},
104
105 {{1|(12<<4)}, {20.36*11, 21.33*1.5}, 1},
106 {{1|(13<<4)}, {20.36*0,21.33*1.5}, 1},
107
108 {{2|(11<<4)}, {20.36*11, 21.33*2}, 1},
a7113c8e
X
109 {{2|(10<<4)}, {20.36*10, 21.33*2}, 4},
110 {{2|(9<<4)}, {20.36*9, 21.33*2}, 4},
111 {{2|(8<<4)}, {20.36*8, 21.33*2}, 4},
112 {{2|(7<<4)}, {20.36*7, 21.33*2}, 4},
113 {{2|(6<<4)}, { 20.36*6, 21.33*2}, 4},
114 {{2|(5<<4)}, { 20.36*5, 21.33*2}, 4},
115 {{2|(4<<4)}, { 20.36*4, 21.33*2}, 4},
116 {{2|(3<<4)}, { 20.36*3, 21.33*2}, 4},
117 {{2|(2<<4)}, { 20.36*2, 21.33*2}, 4},
118 {{2|(1<<4)}, { 20.36*1, 21.33*2}, 4},
681db534 119 {{2|(0<<4)}, { 20.36*0, 21.33*2}, 1},
120
121 {{2|(12<<4)}, {20.36*11, 21.33*2.5}, 1},
122 {{2|(13<<4)}, {20.36*0,21.33*2.5}, 1},
123
124 {{3|(11<<4)}, {20.36*11, 21.33*3}, 1},
125 {{3|(10<<4)}, {20.36*10, 21.33*3}, 1},
126 {{3|(9<<4)}, {20.36*9, 21.33*3}, 1},
127 {{3|(8<<4)}, {20.36*8, 21.33*3}, 1},
128 {{3|(7<<4)}, {20.36*7, 21.33*3}, 1},
129 {{3|(6<<4)}, { 20.36*6, 21.33*3}, 1},
130 {{3|(5<<4)}, { 20.36*5, 21.33*3}, 1},
131 {{3|(4<<4)}, { 20.36*4, 21.33*3}, 1},
132 {{3|(3<<4)}, { 20.36*3, 21.33*3}, 1},
133 {{3|(2<<4)}, { 20.36*2, 21.33*3}, 1},
134 {{3|(1<<4)}, { 20.36*1, 21.33*3}, 1},
135 {{3|(0<<4)}, { 20.36*0, 21.33*3}, 1}
136
137};
138#else
139const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
140/* Refer to IS31 manual for these locations
141 * driver
142 * | R location
143 * | | G location
144 * | | | B location
145 * | | | | */
146 {0, K_12, J_12, L_12},
147 {0, K_11, J_11, L_11},
148 {0, K_10, J_10, L_10},
149 {0, K_9, J_9, L_9},
150 {0, K_8, J_8, L_8},
151 {0, K_7, J_7, L_7},
152 {0, K_6, J_6, L_6},
153 {0, K_5, J_5, L_5},
154 {0, K_4, J_4, L_4},
155 {0, K_3, J_3, L_3},
156 {0, K_2, J_2, L_2},
157 {0, K_1, J_1, L_1},
158
159 {0, K_13, J_13, L_13},
160 {0, K_14, J_14, L_14},
161
162 {0, H_12, G_12, I_12},
163 {0, H_11, G_11, I_11},
164 {0, H_10, G_10, I_10},
165 {0, H_9, G_9, I_9},
166 {0, H_8, G_8, I_8},
167 {0, H_7, G_7, I_7},
168 {0, H_6, G_6, I_6},
169 {0, H_5, G_5, I_5},
170 {0, H_4, G_4, I_4},
171 {0, H_3, G_3, I_3},
172 {0, H_2, G_2, I_2},
173 {0, H_1, G_1, I_1},
174
175 {0, H_13, G_13, I_13},
176 {0, H_14, G_14, I_14},
177
178 {0, E_12, D_12, F_12},
179 {0, E_11, D_11, F_11},
180 {0, E_10, D_10, F_10},
181 {0, E_9, D_9, F_9},
182 {0, E_8, D_8, F_8},
183 {0, E_7, D_7, F_7},
184 {0, E_6, D_6, F_6},
185 {0, E_5, D_5, F_5},
186 {0, E_4, D_4, F_4},
187 {0, E_3, D_3, F_3},
188 {0, E_2, D_2, F_2},
189 {0, E_1, D_1, F_1},
190
191 {0, E_13, D_13, F_13},
192 {0, E_14, D_14, F_14},
193
194 {0, B_12, A_12, C_12},
195 {0, B_11, A_11, C_11},
196 {0, B_10, A_10, C_10},
197 {0, B_9, A_9, C_9},
198 {0, B_8, A_8, C_8},
199 {0, B_13, A_13, C_13},
200 {0, B_5, A_5, C_5},
201 {0, B_4, A_4, C_4},
202 {0, B_3, A_3, C_3},
203 {0, B_2, A_2, C_2},
204 {0, B_1, A_1, C_1}
205
206};
207
a7113c8e 208rgb_led g_rgb_leds[DRIVER_LED_TOTAL] = {
681db534 209
210 {{0|(11<<4)}, {20.36*11, 0}, 1},
211 {{0|(10<<4)}, {20.36*10, 0}, 1},
212 {{0|(9<<4)}, {20.36*9, 0}, 1},
213 {{0|(8<<4)}, {20.36*8, 0}, 1},
214 {{0|(7<<4)}, {20.36*7, 0}, 1},
215 {{0|(6<<4)}, { 20.36*6, 0}, 1},
216 {{0|(5<<4)}, { 20.36*5, 0}, 1},
217 {{0|(4<<4)}, { 20.36*4, 0}, 1},
218 {{0|(3<<4)}, { 20.36*3, 0}, 1},
219 {{0|(2<<4)}, { 20.36*2, 0}, 1},
220 {{0|(1<<4)}, { 20.36*1, 0}, 1},
221 {{0|(0<<4)}, { 20.36*0, 0}, 1},
222
223 {{0|(12<<4)}, {20.36*11, 21.33*0.5}, 1},
224 {{0|(13<<4)}, {20.36*0,21.33*0.5}, 1},
225
226 {{1|(11<<4)}, {20.36*11, 21.33}, 1},
a7113c8e
X
227 {{1|(10<<4)}, {20.36*10, 21.33}, 4},
228 {{1|(9<<4)}, {20.36*9, 21.33}, 4},
229 {{1|(8<<4)}, {20.36*8, 21.33}, 4},
230 {{1|(7<<4)}, {20.36*7, 21.33}, 4},
231 {{1|(6<<4)}, { 20.36*6, 21.33}, 4},
232 {{1|(5<<4)}, { 20.36*5, 21.33}, 4},
233 {{1|(4<<4)}, { 20.36*4, 21.33}, 4},
234 {{1|(3<<4)}, { 20.36*3, 21.33}, 4},
235 {{1|(2<<4)}, { 20.36*2, 21.33}, 4},
236 {{1|(1<<4)}, { 20.36*1, 21.33}, 4},
681db534 237 {{1|(0<<4)}, { 20.36*0, 21.33}, 1},
238
239 {{1|(12<<4)}, {20.36*11, 21.33*1.5}, 1},
240 {{1|(13<<4)}, {20.36*0,21.33*1.5}, 1},
241
242 {{2|(11<<4)}, {20.36*11, 21.33*2}, 1},
a7113c8e
X
243 {{2|(10<<4)}, {20.36*10, 21.33*2}, 4},
244 {{2|(9<<4)}, {20.36*9, 21.33*2}, 4},
245 {{2|(8<<4)}, {20.36*8, 21.33*2}, 4},
246 {{2|(7<<4)}, {20.36*7, 21.33*2}, 4},
247 {{2|(6<<4)}, { 20.36*6, 21.33*2}, 4},
248 {{2|(5<<4)}, { 20.36*5, 21.33*2}, 4},
249 {{2|(4<<4)}, { 20.36*4, 21.33*2}, 4},
250 {{2|(3<<4)}, { 20.36*3, 21.33*2}, 4},
251 {{2|(2<<4)}, { 20.36*2, 21.33*2}, 4},
252 {{2|(1<<4)}, { 20.36*1, 21.33*2}, 4},
681db534 253 {{2|(0<<4)}, { 20.36*0, 21.33*2}, 1},
254
255 {{2|(12<<4)}, {20.36*11, 21.33*2.5}, 1},
256 {{2|(13<<4)}, {20.36*0,21.33*2.5}, 1},
257
258 {{3|(11<<4)}, {20.36*11, 21.33*3}, 1},
259 {{3|(10<<4)}, {20.36*10, 21.33*3}, 1},
260 {{3|(9<<4)}, {20.36*9, 21.33*3}, 1},
261 {{3|(8<<4)}, {20.36*8, 21.33*3}, 1},
262 {{3|(7<<4)}, {20.36*7, 21.33*3}, 1},
263 {{3|(6<<4)}, { 20.36*5.5, 21.33*3}, 1},
264 {{3|(4<<4)}, { 20.36*4, 21.33*3}, 1},
265 {{3|(3<<4)}, { 20.36*3, 21.33*3}, 1},
266 {{3|(2<<4)}, { 20.36*2, 21.33*3}, 1},
267 {{3|(1<<4)}, { 20.36*1, 21.33*3}, 1},
268 {{3|(0<<4)}, { 20.36*0, 21.33*3}, 1}
269
270};
271#endif
272
273
274void matrix_init_kb(void) {
275 matrix_init_user();
276}
277
278
279void matrix_scan_kb(void) {
280 matrix_scan_user();
281}
282
283
284bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
285 return process_record_user(keycode, record);
286}
287
288
289void suspend_power_down_kb(void)
290{
291 rgb_matrix_set_suspend_state(true);
292}
293
294void suspend_wakeup_init_kb(void)
295{
296 rgb_matrix_set_suspend_state(false);
297}