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