]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/dztech/dz60rgb/dz60rgb.c
Updated rgb_led struct field modifier to flags (#5619)
[qmk_firmware.git] / keyboards / dztech / dz60rgb / dz60rgb.c
1 #include "dz60rgb.h"
2 #include "config.h"
3 #if defined (dzrgb60_iso)
4 const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
5     {0, K_14,   J_14,   L_14},
6     {0, K_13,   J_13,   L_13},
7     {0, K_12,   J_12,   L_12},
8     {0, K_11,   J_11,   L_11},
9     {0, K_10,   J_10,   L_10},
10     {0, K_9,    J_9,    L_9},
11     {0, K_8,    J_8,    L_8},
12     {0, K_7,    J_7,    L_7},
13     {0, K_6,    J_6,    L_6},
14     {0, K_5,    J_5,    L_5},
15     {0, K_4,    J_4,    L_4},
16     {0, K_3,    J_3,    L_3},
17     {0, K_2,    J_2,    L_2},
18     {0, K_1,    J_1,    L_1},
19     {0, H_15,   G_15,   I_15},
20     {0, H_13,   G_13,   I_13},
21     {0, H_12,   G_12,   I_12},
22     {0, H_11,   G_11,   I_11},
23     {0, H_10,   G_10,   I_10},
24     {0, H_9,    G_9,    I_9},
25     {0, H_8,    G_8,    I_8},
26     {0, H_7,    G_7,    I_7},
27     {0, H_6,    G_6,    I_6},
28     {0, H_5,    G_5,    I_5},
29     {0, H_4,    G_4,    I_4},
30     {0, H_3,    G_3,    I_3},
31     {0, H_2,    G_2,    I_2},
32     {0, H_1,    G_1,    I_1},
33     {0, B_14,   A_14,   C_14},
34     {0, E_12,   D_12,   F_12},
35     {0, E_11,   D_11,   F_11},
36     {0, E_10,   D_10,   F_10},
37     {0, E_9,    D_9,    F_9},
38     {0, E_8,    D_8,    F_8},
39     {0, E_7,    D_7,    F_7},
40     {0, E_6,    D_6,    F_6},
41     {0, E_5,    D_5,    F_5},
42     {0, E_4,    D_4,    F_4},
43     {0, E_3,    D_3,    F_3},
44     {0, E_2,    D_2,    F_2},
45     {0, E_1,    D_1,    F_1},
46     {0, B_13,   A_13,   C_13},
47     {0, B_11,   A_11,   C_11},
48     {0, B_10,   A_10,   C_10},
49     {0, B_9,    A_9,    C_9},
50     {0, B_8,    A_8,    C_8},
51     {0, B_7,    A_7,    C_7},
52     {0, B_6,    A_6,    C_6},
53     {0, B_5,    A_5,    C_5},
54     {0, B_4,    A_4,    C_4},
55     {0, B_3,    A_3,    C_3},
56     {0, B_2,    A_2,    C_2},
57     {0, B_1,    A_1,    C_1},
58     {0, B_15,   A_15,   C_15},
59     {0, E_13,   D_13,   F_13},
60     {0, B_12,   A_12,   C_12},
61     {0, E_15,   D_15,   F_15},
62     {0, B_16,   A_16,   C_16},
63     {0, E_16,   D_16,   F_16},
64     {0, H_16,   G_16,   I_16},
65     {0, K_16,   J_16,   L_16},
66 };
67
68 rgb_led g_rgb_leds[DRIVER_LED_TOTAL] = {
69     {{0|(13<<4)},   {16*13.5,  0}, 1},
70     {{0|(12<<4)},   {16*12,  0}, 1},
71     {{0|(11<<4)},   {16*11,  0}, 1},
72     {{0|(10<<4)},   {16*10,  0}, 1},
73     {{0|(9<<4)},    {16*9,  0}, 1},
74     {{0|(8<<4)},    {16*8,  0}, 1},
75     {{0|(7<<4)},    {16*7,  0}, 1},
76         {{0|(6<<4)},    {16*6,  0}, 1},
77     {{0|(5<<4)},    {16*5,  0}, 1},
78     {{0|(4<<4)},    {16*4,  0}, 1},
79     {{0|(3<<4)},    {16*3,  0}, 1},
80     {{0|(2<<4)},    {16*2,  0}, 1},
81     {{0|(1<<4)},    {16*1,  0}, 1},
82     {{0|(0<<4)},    {16*0,  0}, 1},
83         {{2|(13<<4)},   {16*13.75, 24}, 1},
84     {{1|(12<<4)},   {16*12.5,  16}, 4},
85     {{1|(11<<4)},   {16*11.5,  16}, 4},
86     {{1|(10<<4)},   {16*10.5,  16}, 4},
87     {{1|(9<<4)},    { 16*9.5,  16}, 4},
88     {{1|(8<<4)},    { 16*8.5,  16}, 4},
89     {{1|(7<<4)},    { 16*7.5,  16}, 4},
90         {{1|(6<<4)},    { 16*6.5,  16}, 4},
91     {{1|(5<<4)},    { 16*5.5,  16}, 4},
92     {{1|(4<<4)},    { 16*4.5,  16}, 4},
93     {{1|(3<<4)},    { 16*3.5,  16}, 4},
94     {{1|(2<<4)},    { 16*2.5,  16}, 4},
95     {{1|(1<<4)},    { 16*1.5,  16}, 4},
96     {{1|(0<<4)},    { 16*0.25,  16}, 1},
97         {{1|(13<<4)},   {16*12.75,  32}, 1},
98     {{2|(11<<4)},   {16*11.75,  32}, 4},
99     {{2|(10<<4)},   {16*10.75,  32}, 4},
100     {{2|(9<<4)},    {16*9.75,  32}, 4},
101     {{2|(8<<4)},    {16*8.75,  32}, 4},
102     {{2|(7<<4)},    {16*7.75,  32}, 4},
103         {{2|(6<<4)},    { 16*6.75,  32}, 4},
104     {{2|(5<<4)},    { 16*5.75,  32}, 4},
105     {{2|(4<<4)},    { 16*4.75,  32}, 4},
106     {{2|(3<<4)},    { 16*3.75,  32}, 4},
107     {{2|(2<<4)},    { 16*2.75,  32}, 4},
108     {{2|(1<<4)},    { 16*1.75,  32}, 4},
109     {{2|(0<<4)},    { 16*0.375,  32}, 1},
110     {{3|(11<<4)},   {16*13.125,  48}, 1},
111     {{3|(10<<4)},   {16*11.25,  48}, 4},
112     {{3|(9<<4)},    {16*10.25,  48}, 4},
113     {{3|(8<<4)},    {16*9.25,  48}, 4},
114     {{3|(7<<4)},    {16*8.25,  48}, 4},
115         {{3|(6<<4)},    {16*7.25,  48}, 4},
116     {{3|(5<<4)},    {16*6.25,  48}, 4},
117     {{3|(4<<4)},    {16*5.25,  48}, 4},
118     {{3|(3<<4)},    {16*4.25,  48}, 4},
119     {{3|(2<<4)},    {16*3.25,  48}, 4},
120     {{3|(1<<4)},    {16*1.25,  48}, 4},
121     {{3|(0<<4)},    {16*0.625,  48}, 1},
122         {{4|(13<<4)},   {16*13.875,  64}, 1},
123     {{4|(11<<4)},   {16*12.625,  64}, 1},
124     {{4|(10<<4)},   {16*11.375,  64}, 1},
125     {{4|(9<<4)},    {16*10.125,  64}, 1},
126     {{4|(5<<4)},    { 16*6.375,  64}, 4},
127     {{4|(2<<4)},    { 16*2.625,  64}, 1},
128     {{4|(1<<4)},    { 16*1.375,  64}, 1},
129     {{4|(0<<4)},    { 16*0.125,  64}, 1},
130 };
131 #elif defined (dzrgb60_hhkb)
132 const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
133         {0, H_15,   G_15,   I_15},
134     {0, K_14,   J_14,   L_14},
135     {0, K_13,   J_13,   L_13},
136     {0, K_12,   J_12,   L_12},
137     {0, K_11,   J_11,   L_11},
138     {0, K_10,   J_10,   L_10},
139     {0, K_9,    J_9,    L_9},
140     {0, K_8,    J_8,    L_8},
141     {0, K_7,    J_7,    L_7},
142     {0, K_6,    J_6,    L_6},
143     {0, K_5,    J_5,    L_5},
144     {0, K_4,    J_4,    L_4},
145     {0, K_3,    J_3,    L_3},
146     {0, K_2,    J_2,    L_2},
147     {0, K_1,    J_1,    L_1},
148     {0, H_14,   G_14,   I_14},
149     {0, H_13,   G_13,   I_13},
150     {0, H_12,   G_12,   I_12},
151     {0, H_11,   G_11,   I_11},
152     {0, H_10,   G_10,   I_10},
153     {0, H_9,    G_9,    I_9},
154     {0, H_8,    G_8,    I_8},
155     {0, H_7,    G_7,    I_7},
156     {0, H_6,    G_6,    I_6},
157     {0, H_5,    G_5,    I_5},
158     {0, H_4,    G_4,    I_4},
159     {0, H_3,    G_3,    I_3},
160     {0, H_2,    G_2,    I_2},
161     {0, H_1,    G_1,    I_1},
162     {0, E_14,   D_14,   F_14},
163     {0, E_12,   D_12,   F_12},
164     {0, E_11,   D_11,   F_11},
165     {0, E_10,   D_10,   F_10},
166     {0, E_9,    D_9,    F_9},
167     {0, E_8,    D_8,    F_8},
168     {0, E_7,    D_7,    F_7},
169     {0, E_6,    D_6,    F_6},
170     {0, E_5,    D_5,    F_5},
171     {0, E_4,    D_4,    F_4},
172     {0, E_3,    D_3,    F_3},
173     {0, E_2,    D_2,    F_2},
174     {0, E_1,    D_1,    F_1},
175     {0, B_14,   A_14,   C_14},
176     {0, B_13,   A_13,   C_13},
177     {0, B_11,   A_11,   C_11},
178     {0, B_10,   A_10,   C_10},
179     {0, B_9,    A_9,    C_9},
180     {0, B_8,    A_8,    C_8},
181     {0, B_7,    A_7,    C_7},
182     {0, B_6,    A_6,    C_6},
183     {0, B_5,    A_5,    C_5},
184     {0, B_4,    A_4,    C_4},
185     {0, B_3,    A_3,    C_3},
186     {0, B_2,    A_2,    C_2},
187     {0, B_1,    A_1,    C_1},
188     {0, B_15,   A_15,   C_15},
189     {0, E_13,   D_13,   F_13},
190     {0, B_12,   A_12,   C_12},
191     {0, B_16,   A_16,   C_16},
192     {0, E_16,   D_16,   F_16},
193     {0, H_16,   G_16,   I_16},
194     {0, K_16,   J_16,   L_16},
195 };
196
197 rgb_led g_rgb_leds[DRIVER_LED_TOTAL] = {
198         {{2|(12<<4)},   {16*14,  0}, 1},
199     {{0|(13<<4)},   {16*13,  0}, 1},
200     {{0|(12<<4)},   {16*12,  0}, 1},
201     {{0|(11<<4)},   {16*11,  0}, 1},
202     {{0|(10<<4)},   {16*10,  0}, 1},
203     {{0|(9<<4)},    {16*9,  0}, 1},
204     {{0|(8<<4)},    {16*8,  0}, 1},
205     {{0|(7<<4)},    {16*7,  0}, 1},
206         {{0|(6<<4)},    {16*6,  0}, 1},
207     {{0|(5<<4)},    {16*5,  0}, 1},
208     {{0|(4<<4)},    {16*4,  0}, 1},
209     {{0|(3<<4)},    {16*3,  0}, 1},
210     {{0|(2<<4)},    {16*2,  0}, 1},
211     {{0|(1<<4)},    {16*1,  0}, 1},
212     {{0|(0<<4)},    {16*0,  0}, 1},
213         {{1|(13<<4)},   {16*13.75, 16}, 1},
214     {{1|(12<<4)},   {16*12.5,  16}, 4},
215     {{1|(11<<4)},   {16*11.5,  16}, 4},
216     {{1|(10<<4)},   {16*10.5,  16}, 4},
217     {{1|(9<<4)},    { 16*9.5,  16}, 4},
218     {{1|(8<<4)},    { 16*8.5,  16}, 4},
219     {{1|(7<<4)},    { 16*7.5,  16}, 4},
220         {{1|(6<<4)},    { 16*6.5,  16}, 4},
221     {{1|(5<<4)},    { 16*5.5,  16}, 4},
222     {{1|(4<<4)},    { 16*4.5,  16}, 4},
223     {{1|(3<<4)},    { 16*3.5,  16}, 4},
224     {{1|(2<<4)},    { 16*2.5,  16}, 4},
225     {{1|(1<<4)},    { 16*1.5,  16}, 4},
226     {{1|(0<<4)},    { 16*0.25,  16}, 1},
227         {{2|(13<<4)},   {16*12.75,  32}, 1},
228     {{2|(11<<4)},   {16*11.75,  32}, 4},
229     {{2|(10<<4)},   {16*10.75,  32}, 4},
230     {{2|(9<<4)},    {16*9.75,  32}, 4},
231     {{2|(8<<4)},    {16*8.75,  32}, 4},
232     {{2|(7<<4)},    {16*7.75,  32}, 4},
233         {{2|(6<<4)},    { 16*6.75,  32}, 4},
234     {{2|(5<<4)},    { 16*5.75,  32}, 4},
235     {{2|(4<<4)},    { 16*4.75,  32}, 4},
236     {{2|(3<<4)},    { 16*3.75,  32}, 4},
237     {{2|(2<<4)},    { 16*2.75,  32}, 4},
238     {{2|(1<<4)},    { 16*1.75,  32}, 4},
239     {{2|(0<<4)},    { 16*0.375,  32}, 1},
240     {{3|(13<<4)},   {16*14,     48}, 1},
241     {{3|(11<<4)},   {16*12.625, 48}, 4},
242     {{3|(10<<4)},   {16*11.25,  48}, 4},
243     {{3|(9<<4)},    {16*10.25,  48}, 4},
244     {{3|(8<<4)},    {16*9.25,  48}, 4},
245     {{3|(7<<4)},    {16*8.25,  48}, 4},
246         {{3|(6<<4)},    {16*7.25,  48}, 4},
247     {{3|(5<<4)},    {16*6.25,  48}, 4},
248     {{3|(4<<4)},    {16*5.25,  48}, 4},
249     {{3|(3<<4)},    {16*4.25,  48}, 4},
250     {{3|(2<<4)},    {16*3.25,  48}, 4},
251     {{3|(1<<4)},    {16*1.25,  48}, 4},
252     {{3|(0<<4)},    {16*0.625,  48}, 1},
253         {{4|(13<<4)},   {16*13.625,  64}, 1},
254     {{4|(11<<4)},   {16*12.375,  64}, 1},
255     {{4|(10<<4)},   {16*11.125,  64}, 1},
256     {{4|(5<<4)},    { 16*7,      64}, 4},
257     {{4|(2<<4)},    { 16*2.875,  64}, 1},
258     {{4|(1<<4)},    { 16*1.625,  64}, 1},
259     {{4|(0<<4)},    { 16*0.375,  64}, 1},
260 };
261 #elif defined (dzrgb60_hhkb_iso)
262 const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
263         {0, H_15,   G_15,   I_15},
264     {0, K_14,   J_14,   L_14},
265     {0, K_13,   J_13,   L_13},
266     {0, K_12,   J_12,   L_12},
267     {0, K_11,   J_11,   L_11},
268     {0, K_10,   J_10,   L_10},
269     {0, K_9,    J_9,    L_9},
270     {0, K_8,    J_8,    L_8},
271     {0, K_7,    J_7,    L_7},
272     {0, K_6,    J_6,    L_6},
273     {0, K_5,    J_5,    L_5},
274     {0, K_4,    J_4,    L_4},
275     {0, K_3,    J_3,    L_3},
276     {0, K_2,    J_2,    L_2},
277     {0, K_1,    J_1,    L_1},
278     {0, K_15,   J_15,   L_15},
279     {0, H_13,   G_13,   I_13},
280     {0, H_12,   G_12,   I_12},
281     {0, H_11,   G_11,   I_11},
282     {0, H_10,   G_10,   I_10},
283     {0, H_9,    G_9,    I_9},
284     {0, H_8,    G_8,    I_8},
285     {0, H_7,    G_7,    I_7},
286     {0, H_6,    G_6,    I_6},
287     {0, H_5,    G_5,    I_5},
288     {0, H_4,    G_4,    I_4},
289     {0, H_3,    G_3,    I_3},
290     {0, H_2,    G_2,    I_2},
291     {0, H_1,    G_1,    I_1},
292     {0, E_15,   D_15,   F_15},
293     {0, E_12,   D_12,   F_12},
294     {0, E_11,   D_11,   F_11},
295     {0, E_10,   D_10,   F_10},
296     {0, E_9,    D_9,    F_9},
297     {0, E_8,    D_8,    F_8},
298     {0, E_7,    D_7,    F_7},
299     {0, E_6,    D_6,    F_6},
300     {0, E_5,    D_5,    F_5},
301     {0, E_4,    D_4,    F_4},
302     {0, E_3,    D_3,    F_3},
303     {0, E_2,    D_2,    F_2},
304     {0, E_1,    D_1,    F_1},
305     {0, B_14,   A_14,   C_14},
306     {0, B_13,   A_13,   C_13},
307     {0, B_11,   A_11,   C_11},
308     {0, B_10,   A_10,   C_10},
309     {0, B_9,    A_9,    C_9},
310     {0, B_8,    A_8,    C_8},
311     {0, B_7,    A_7,    C_7},
312     {0, B_6,    A_6,    C_6},
313     {0, B_5,    A_5,    C_5},
314     {0, B_4,    A_4,    C_4},
315     {0, B_3,    A_3,    C_3},
316     {0, B_2,    A_2,    C_2},
317     {0, B_1,    A_1,    C_1},
318     {0, B_15,   A_15,   C_15},
319     {0, E_13,   D_13,   F_13},
320     {0, B_12,   A_12,   C_12},
321     {0, B_16,   A_16,   C_16},
322     {0, E_16,   D_16,   F_16},
323     {0, H_16,   G_16,   I_16},
324     {0, K_16,   J_16,   L_16},
325 };
326
327 rgb_led g_rgb_leds[DRIVER_LED_TOTAL] = {
328         {{2|(12<<4)},   {16*14,  0}, 1},
329     {{0|(13<<4)},   {16*13,  0}, 1},
330     {{0|(12<<4)},   {16*12,  0}, 1},
331     {{0|(11<<4)},   {16*11,  0}, 1},
332     {{0|(10<<4)},   {16*10,  0}, 1},
333     {{0|(9<<4)},    {16*9,  0}, 1},
334     {{0|(8<<4)},    {16*8,  0}, 1},
335     {{0|(7<<4)},    {16*7,  0}, 1},
336         {{0|(6<<4)},    {16*6,  0}, 1},
337     {{0|(5<<4)},    {16*5,  0}, 1},
338     {{0|(4<<4)},    {16*4,  0}, 1},
339     {{0|(3<<4)},    {16*3,  0}, 1},
340     {{0|(2<<4)},    {16*2,  0}, 1},
341     {{0|(1<<4)},    {16*1,  0}, 1},
342     {{0|(0<<4)},    {16*0,  0}, 1},
343         {{2|(13<<4)},   {16*13.75, 24}, 1},
344     {{1|(12<<4)},   {16*12.5,  16}, 4},
345     {{1|(11<<4)},   {16*11.5,  16}, 4},
346     {{1|(10<<4)},   {16*10.5,  16}, 4},
347     {{1|(9<<4)},    { 16*9.5,  16}, 4},
348     {{1|(8<<4)},    { 16*8.5,  16}, 4},
349     {{1|(7<<4)},    { 16*7.5,  16}, 4},
350         {{1|(6<<4)},    { 16*6.5,  16}, 4},
351     {{1|(5<<4)},    { 16*5.5,  16}, 4},
352     {{1|(4<<4)},    { 16*4.5,  16}, 4},
353     {{1|(3<<4)},    { 16*3.5,  16}, 4},
354     {{1|(2<<4)},    { 16*2.5,  16}, 4},
355     {{1|(1<<4)},    { 16*1.5,  16}, 4},
356     {{1|(0<<4)},    { 16*0.25,  16}, 1},
357         {{1|(13<<4)},   {16*12.75,  32}, 1},
358     {{2|(11<<4)},   {16*11.75,  32}, 4},
359     {{2|(10<<4)},   {16*10.75,  32}, 4},
360     {{2|(9<<4)},    {16*9.75,  32}, 4},
361     {{2|(8<<4)},    {16*8.75,  32}, 4},
362     {{2|(7<<4)},    {16*7.75,  32}, 4},
363         {{2|(6<<4)},    { 16*6.75,  32}, 4},
364     {{2|(5<<4)},    { 16*5.75,  32}, 4},
365     {{2|(4<<4)},    { 16*4.75,  32}, 4},
366     {{2|(3<<4)},    { 16*3.75,  32}, 4},
367     {{2|(2<<4)},    { 16*2.75,  32}, 4},
368     {{2|(1<<4)},    { 16*1.75,  32}, 4},
369     {{2|(0<<4)},    { 16*0.375,  32}, 1},
370     {{3|(13<<4)},   {16*14,     48}, 1},
371     {{3|(11<<4)},   {16*12.625, 48}, 4},
372     {{3|(10<<4)},   {16*11.25,  48}, 4},
373     {{3|(9<<4)},    {16*10.25,  48}, 4},
374     {{3|(8<<4)},    {16*9.25,  48}, 4},
375     {{3|(7<<4)},    {16*8.25,  48}, 4},
376         {{3|(6<<4)},    {16*7.25,  48}, 4},
377     {{3|(5<<4)},    {16*6.25,  48}, 4},
378     {{3|(4<<4)},    {16*5.25,  48}, 4},
379     {{3|(3<<4)},    {16*4.25,  48}, 4},
380     {{3|(2<<4)},    {16*3.25,  48}, 4},
381     {{3|(1<<4)},    {16*1.25,  48}, 4},
382     {{3|(0<<4)},    {16*0.625,  48}, 1},
383         {{4|(13<<4)},   {16*13.625,  64}, 1},
384     {{4|(11<<4)},   {16*12.375,  64}, 1},
385     {{4|(10<<4)},   {16*11.125,  64}, 1},
386     {{4|(5<<4)},    { 16*7,      64}, 4},
387     {{4|(2<<4)},    { 16*2.875,  64}, 1},
388     {{4|(1<<4)},    { 16*1.625,  64}, 1},
389     {{4|(0<<4)},    { 16*0.375,  64}, 1},
390 };
391 #elif defined (dzrgb60_ansi)
392 const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
393     {0, K_14,   J_14,   L_14},
394     {0, K_13,   J_13,   L_13},
395     {0, K_12,   J_12,   L_12},
396     {0, K_11,   J_11,   L_11},
397     {0, K_10,   J_10,   L_10},
398     {0, K_9,    J_9,    L_9},
399     {0, K_8,    J_8,    L_8},
400     {0, K_7,    J_7,    L_7},
401     {0, K_6,    J_6,    L_6},
402     {0, K_5,    J_5,    L_5},
403     {0, K_4,    J_4,    L_4},
404     {0, K_3,    J_3,    L_3},
405     {0, K_2,    J_2,    L_2},
406     {0, K_1,    J_1,    L_1},
407     {0, H_14,   G_14,   I_14},
408     {0, H_13,   G_13,   I_13},
409     {0, H_12,   G_12,   I_12},
410     {0, H_11,   G_11,   I_11},
411     {0, H_10,   G_10,   I_10},
412     {0, H_9,    G_9,    I_9},
413     {0, H_8,    G_8,    I_8},
414     {0, H_7,    G_7,    I_7},
415     {0, H_6,    G_6,    I_6},
416     {0, H_5,    G_5,    I_5},
417     {0, H_4,    G_4,    I_4},
418     {0, H_3,    G_3,    I_3},
419     {0, H_2,    G_2,    I_2},
420     {0, H_1,    G_1,    I_1},
421     {0, E_14,   D_14,   F_14},
422     {0, E_12,   D_12,   F_12},
423     {0, E_11,   D_11,   F_11},
424     {0, E_10,   D_10,   F_10},
425     {0, E_9,    D_9,    F_9},
426     {0, E_8,    D_8,    F_8},
427     {0, E_7,    D_7,    F_7},
428     {0, E_6,    D_6,    F_6},
429     {0, E_5,    D_5,    F_5},
430     {0, E_4,    D_4,    F_4},
431     {0, E_3,    D_3,    F_3},
432     {0, E_2,    D_2,    F_2},
433     {0, E_1,    D_1,    F_1},
434     {0, B_13,   A_13,   C_13},
435     {0, B_11,   A_11,   C_11},
436     {0, B_10,   A_10,   C_10},
437     {0, B_9,    A_9,    C_9},
438     {0, B_8,    A_8,    C_8},
439     {0, B_7,    A_7,    C_7},
440     {0, B_6,    A_6,    C_6},
441     {0, B_5,    A_5,    C_5},
442     {0, B_4,    A_4,    C_4},
443     {0, B_3,    A_3,    C_3},
444     {0, B_2,    A_2,    C_2},
445     {0, B_1,    A_1,    C_1},
446     {0, B_15,   A_15,   C_15},
447     {0, E_13,   D_13,   F_13},
448     {0, B_12,   A_12,   C_12},
449     {0, E_15,   D_15,   F_15},
450     {0, B_16,   A_16,   C_16},
451     {0, E_16,   D_16,   F_16},
452     {0, H_16,   G_16,   I_16},
453     {0, K_16,   J_16,   L_16},
454 };
455
456 rgb_led g_rgb_leds[DRIVER_LED_TOTAL] = {
457     {{0|(13<<4)},   {16*13.5,  0}, 1},
458     {{0|(12<<4)},   {16*12,  0}, 1},
459     {{0|(11<<4)},   {16*11,  0}, 1},
460     {{0|(10<<4)},   {16*10,  0}, 1},
461     {{0|(9<<4)},    {16*9,  0}, 1},
462     {{0|(8<<4)},    {16*8,  0}, 1},
463     {{0|(7<<4)},    {16*7,  0}, 1},
464         {{0|(6<<4)},    {16*6,  0}, 1},
465     {{0|(5<<4)},    {16*5,  0}, 1},
466     {{0|(4<<4)},    {16*4,  0}, 1},
467     {{0|(3<<4)},    {16*3,  0}, 1},
468     {{0|(2<<4)},    {16*2,  0}, 1},
469     {{0|(1<<4)},    {16*1,  0}, 1},
470     {{0|(0<<4)},    {16*0,  0}, 1},
471         {{1|(13<<4)},   {16*13.75, 16}, 1},
472     {{1|(12<<4)},   {16*12.5,  16}, 4},
473     {{1|(11<<4)},   {16*11.5,  16}, 4},
474     {{1|(10<<4)},   {16*10.5,  16}, 4},
475     {{1|(9<<4)},    { 16*9.5,  16}, 4},
476     {{1|(8<<4)},    { 16*8.5,  16}, 4},
477     {{1|(7<<4)},    { 16*7.5,  16}, 4},
478         {{1|(6<<4)},    { 16*6.5,  16}, 4},
479     {{1|(5<<4)},    { 16*5.5,  16}, 4},
480     {{1|(4<<4)},    { 16*4.5,  16}, 4},
481     {{1|(3<<4)},    { 16*3.5,  16}, 4},
482     {{1|(2<<4)},    { 16*2.5,  16}, 4},
483     {{1|(1<<4)},    { 16*1.5,  16}, 4},
484     {{1|(0<<4)},    { 16*0.25,  16}, 1},
485         {{2|(13<<4)},   {16*13.375,  24}, 1},
486     {{2|(11<<4)},   {16*11.75,  32}, 4},
487     {{2|(10<<4)},   {16*10.75,  32}, 4},
488     {{2|(9<<4)},    {16*9.75,  32}, 4},
489     {{2|(8<<4)},    {16*8.75,  32}, 4},
490     {{2|(7<<4)},    {16*7.75,  32}, 4},
491         {{2|(6<<4)},    { 16*6.75,  32}, 4},
492     {{2|(5<<4)},    { 16*5.75,  32}, 4},
493     {{2|(4<<4)},    { 16*4.75,  32}, 4},
494     {{2|(3<<4)},    { 16*3.75,  32}, 4},
495     {{2|(2<<4)},    { 16*2.75,  32}, 4},
496     {{2|(1<<4)},    { 16*1.75,  32}, 4},
497     {{2|(0<<4)},    { 16*0.375,  32}, 1},
498     {{3|(11<<4)},   {16*13.125,  48}, 1},
499     {{3|(10<<4)},   {16*11.25,  48}, 4},
500     {{3|(9<<4)},    {16*10.25,  48}, 4},
501     {{3|(8<<4)},    {16*9.25,  48}, 4},
502     {{3|(7<<4)},    {16*8.25,  48}, 4},
503         {{3|(6<<4)},    {16*7.25,  48}, 4},
504     {{3|(5<<4)},    {16*6.25,  48}, 4},
505     {{3|(4<<4)},    {16*5.25,  48}, 4},
506     {{3|(3<<4)},    {16*4.25,  48}, 4},
507     {{3|(2<<4)},    {16*3.25,  48}, 4},
508     {{3|(1<<4)},    {16*1.25,  48}, 4},
509     {{3|(0<<4)},    {16*0.625,  48}, 1},
510         {{4|(13<<4)},   {16*13.875,  64}, 1},
511     {{4|(11<<4)},   {16*12.625,  64}, 1},
512     {{4|(10<<4)},   {16*11.375,  64}, 1},
513     {{4|(9<<4)},    {16*10.125,  64}, 1},
514     {{4|(5<<4)},    { 16*6.375,  64}, 4},
515     {{4|(2<<4)},    { 16*2.625,  64}, 1},
516     {{4|(1<<4)},    { 16*1.375,  64}, 1},
517     {{4|(0<<4)},    { 16*0.125,  64}, 1},
518 };
519 #else
520 const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
521     {0, K_14,   J_14,   L_14},
522     {0, K_13,   J_13,   L_13},
523     {0, K_12,   J_12,   L_12},
524     {0, K_11,   J_11,   L_11},
525     {0, K_10,   J_10,   L_10},
526     {0, K_9,    J_9,    L_9},
527     {0, K_8,    J_8,    L_8},
528     {0, K_7,    J_7,    L_7},
529     {0, K_6,    J_6,    L_6},
530     {0, K_5,    J_5,    L_5},
531     {0, K_4,    J_4,    L_4},
532     {0, K_3,    J_3,    L_3},
533     {0, K_2,    J_2,    L_2},
534     {0, K_1,    J_1,    L_1},
535     {0, H_14,   G_14,   I_14},
536     {0, H_13,   G_13,   I_13},
537     {0, H_12,   G_12,   I_12},
538     {0, H_11,   G_11,   I_11},
539     {0, H_10,   G_10,   I_10},
540     {0, H_9,    G_9,    I_9},
541     {0, H_8,    G_8,    I_8},
542     {0, H_7,    G_7,    I_7},
543     {0, H_6,    G_6,    I_6},
544     {0, H_5,    G_5,    I_5},
545     {0, H_4,    G_4,    I_4},
546     {0, H_3,    G_3,    I_3},
547     {0, H_2,    G_2,    I_2},
548     {0, H_1,    G_1,    I_1},
549     {0, E_14,   D_14,   F_14},
550     {0, E_12,   D_12,   F_12},
551     {0, E_11,   D_11,   F_11},
552     {0, E_10,   D_10,   F_10},
553     {0, E_9,    D_9,    F_9},
554     {0, E_8,    D_8,    F_8},
555     {0, E_7,    D_7,    F_7},
556     {0, E_6,    D_6,    F_6},
557     {0, E_5,    D_5,    F_5},
558     {0, E_4,    D_4,    F_4},
559     {0, E_3,    D_3,    F_3},
560     {0, E_2,    D_2,    F_2},
561     {0, E_1,    D_1,    F_1},
562     {0, B_14,   A_14,   C_14},
563     {0, B_13,   A_13,   C_13},
564     {0, B_11,   A_11,   C_11},
565     {0, B_10,   A_10,   C_10},
566     {0, B_9,    A_9,    C_9},
567     {0, B_8,    A_8,    C_8},
568     {0, B_7,    A_7,    C_7},
569     {0, B_6,    A_6,    C_6},
570     {0, B_5,    A_5,    C_5},
571     {0, B_4,    A_4,    C_4},
572     {0, B_3,    A_3,    C_3},
573     {0, B_2,    A_2,    C_2},
574     {0, B_1,    A_1,    C_1},
575     {0, B_15,   A_15,   C_15},
576     {0, E_13,   D_13,   F_13},
577     {0, B_12,   A_12,   C_12},
578     {0, E_15,   D_15,   F_15},
579     {0, H_15,   G_15,   I_15},
580     {0, B_16,   A_16,   C_16},
581     {0, E_16,   D_16,   F_16},
582     {0, H_16,   G_16,   I_16},
583     {0, K_16,   J_16,   L_16},
584 };
585
586 rgb_led g_rgb_leds[DRIVER_LED_TOTAL] = {
587     {{0|(13<<4)},   {17.23*13,  0}, 1},
588     {{0|(12<<4)},   {17.23*12,  0}, 1},
589     {{0|(11<<4)},   {17.23*11,  0}, 1},
590     {{0|(10<<4)},   {17.23*10,  0}, 1},
591     {{0|(9<<4)},    {17.23*9,  0}, 1},
592     {{0|(8<<4)},    {17.23*8,  0}, 1},
593     {{0|(7<<4)},    {17.23*7,  0}, 1},
594         {{0|(6<<4)},    { 17.23*6,  0}, 1},
595     {{0|(5<<4)},    { 17.23*5,  0}, 1},
596     {{0|(4<<4)},    { 17.23*4,  0}, 1},
597     {{0|(3<<4)},    { 17.23*3,  0}, 1},
598     {{0|(2<<4)},    { 17.23*2,  0}, 1},
599     {{0|(1<<4)},    { 17.23*1,  0}, 1},
600     {{0|(0<<4)},    { 17.23*0,  0}, 1},
601         {{1|(13<<4)},   {17.23*13,  16}, 1},
602     {{1|(12<<4)},   {17.23*12,  16}, 4},
603     {{1|(11<<4)},   {17.23*11,  16}, 4},
604     {{1|(10<<4)},   {17.23*10,  16}, 4},
605     {{1|(9<<4)},    {17.23*9,  16}, 4},
606     {{1|(8<<4)},    {17.23*8,  16}, 4},
607     {{1|(7<<4)},    {17.23*7,  16}, 4},
608         {{1|(6<<4)},    { 17.23*6,  16}, 4},
609     {{1|(5<<4)},    { 17.23*5,  16}, 4},
610     {{1|(4<<4)},    { 17.23*4,  16}, 4},
611     {{1|(3<<4)},    { 17.23*3,  16}, 4},
612     {{1|(2<<4)},    { 17.23*2,  16}, 4},
613     {{1|(1<<4)},    { 17.23*1,  16}, 4},
614     {{1|(0<<4)},    { 17.23*0,  16}, 1},
615         {{2|(13<<4)},   {17.23*13,  32}, 1},
616     {{2|(11<<4)},   {17.23*11,  32}, 4},
617     {{2|(10<<4)},   {17.23*10,  32}, 4},
618     {{2|(9<<4)},    {17.23*9,  32}, 4},
619     {{2|(8<<4)},    {17.23*8,  32}, 4},
620     {{2|(7<<4)},    {17.23*7,  32}, 4},
621         {{2|(6<<4)},    { 17.23*6,  32}, 4},
622     {{2|(5<<4)},    { 17.23*5,  32}, 4},
623     {{2|(4<<4)},    { 17.23*4,  32}, 4},
624     {{2|(3<<4)},    { 17.23*3,  32}, 4},
625     {{2|(2<<4)},    { 17.23*2,  32}, 4},
626     {{2|(1<<4)},    { 17.23*1,  32}, 4},
627     {{2|(0<<4)},    { 17.23*0,  32}, 1},
628         {{3|(13<<4)},   {17.23*13,  48}, 1},
629     {{3|(11<<4)},   {17.23*11,  48}, 4},
630     {{3|(10<<4)},   {17.23*10,  48}, 4},
631     {{3|(9<<4)},    {17.23*9,  48}, 4},
632     {{3|(8<<4)},    {17.23*8,  48}, 4},
633     {{3|(7<<4)},    {17.23*7,  48}, 4},
634         {{3|(6<<4)},    { 17.23*6,  48}, 4},
635     {{3|(5<<4)},    { 17.23*5,  48}, 4},
636     {{3|(4<<4)},    { 17.23*4,  48}, 4},
637     {{3|(3<<4)},    { 17.23*3,  48}, 4},
638     {{3|(2<<4)},    { 17.23*2,  48}, 4},
639     {{3|(1<<4)},    { 17.23*1,  48}, 4},
640     {{3|(0<<4)},    { 17.23*0,  48}, 1},
641         {{4|(13<<4)},   {17.23*13,  64}, 1},
642     {{4|(11<<4)},   {17.23*11,  64}, 1},
643     {{4|(10<<4)},   {17.23*10,  64}, 1},
644     {{4|(9<<4)},    {17.23*9,  64}, 1},
645     {{4|(8<<4)},    {17.23*8,  64}, 1},
646     {{4|(5<<4)},    { 17.23*5,  64}, 4},
647     {{4|(2<<4)},    { 17.23*2,  64}, 1},
648     {{4|(1<<4)},    { 17.23*1,  64}, 1},
649     {{4|(0<<4)},    { 17.23*0,  64}, 1},
650 };
651 #endif
652
653 void matrix_init_kb(void) {
654     matrix_init_user();
655 }
656 void matrix_scan_kb(void) {
657     matrix_scan_user();
658 }
659 bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
660     return process_record_user(keycode, record);
661 }
662 void suspend_power_down_kb(void)
663 {
664     rgb_matrix_set_suspend_state(true);
665     suspend_power_down_user();
666 }
667
668 void suspend_wakeup_init_kb(void)
669 {
670     rgb_matrix_set_suspend_state(false);
671     suspend_wakeup_init_user();
672 }