summaryrefslogtreecommitdiffstats
path: root/keyboards/4pplet/perk60_iso/rev_a/rev_a.c
blob: 8f6ef05cec6326f081e1dcbba592a5af274dd8ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
/*
Copyright 2022 Stefan Sundin "4pplet" <4pplet@protonmail.com>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
#include "rev_a.h"

#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
    { 0, K_2,  J_2,  L_2 }, //D402
    { 0, K_3,  J_3,  L_3 }, //D403
    { 0, K_4,  J_4,  L_4 }, //D404
    { 0, K_5,  J_5,  L_5 }, //D405
    { 0, K_6,  J_6,  L_6 }, //D406
    { 0, K_7,  J_7,  L_7 }, //D407
    { 0, K_8,  J_8,  L_8 }, //D408
    { 0, K_9,  J_9,  L_9 }, //D409
    { 0, K_10, J_10, L_10 }, //D410
    { 0, K_11, J_11, L_11 }, //D411
    { 0, K_12, J_12, L_12 }, //D412
    { 0, K_13, J_13, L_13 }, //D413
    { 0, K_14, J_14, L_14 }, //D414
    { 0, K_15, J_15, L_15 }, //D415
    { 0, K_1,  J_1,  L_1 }, //D401
    { 0, H_4,  G_4,  I_4 }, //D420
    { 0, H_5,  G_5,  I_5 }, //D421
    { 0, H_6,  G_6,  I_6 }, //D422
    { 0, H_7,  G_7,  I_7 }, //D423
    { 0, H_8,  G_8,  I_8 }, //D424
    { 0, H_9,  G_9,  I_9 }, //D425
    { 0, H_10, G_10, I_10 }, //D426
    { 0, H_11, G_11, I_11 }, //D427
    { 0, H_12, G_12, I_12 }, //D428
    { 0, H_13, G_13, I_13 }, //D429
    { 0, H_14, G_14, I_14 }, //D430
    { 0, H_15, G_15, I_15 }, //D431
    { 0, K_16, J_16, L_16 }, //D416
    { 0, H_2,  G_2,  I_2 }, //D418
    { 0, H_3,  G_3,  I_3 }, //D419
    { 0, E_5,  D_5,  F_5 }, //D437
    { 0, E_6,  D_6,  F_6 }, //D438
    { 0, E_7,  D_7,  F_7 }, //D439
    { 0, E_8,  D_8,  F_8 }, //D440
    { 0, E_9,  D_9,  F_9 }, //D441
    { 0, E_10, D_10, F_10 }, //D442
    { 0, E_11, D_11, F_11 }, //D443
    { 0, E_12, D_12, F_12 }, //D444
    { 0, E_13, D_13, F_13 }, //D445
    { 0, E_14, D_14, F_14 }, //D446
    { 0, H_16, G_16, I_16 }, //D432
    { 0, H_1,  G_1,  I_1 }, //D417
    { 0, E_3,  D_3,  F_3 }, //D435
    { 0, E_4,  D_4,  F_4 }, //D436
    { 0, B_2,  A_2,  C_2 }, //D450
    { 0, B_3,  A_3,  C_3 }, //D451
    { 0, B_4,  A_4,  C_4 }, //D452
    { 0, B_6,  A_6,  C_6 }, //D454
    { 0, B_8,  A_8,  C_8 }, //D456
    { 0, B_9,  A_9,  C_9 }, //D457
    { 0, B_10, A_10, C_10 }, //D458
    { 0, B_12, A_12, C_12 }, //D460
    { 0, B_13, A_13, C_13 }, //D461
    { 0, E_15, D_15, F_15 }, //D447
    { 0, E_1,  D_1,  F_1 }, //D433
    { 0, E_2,  D_2,  F_2 }, //D434
    { 0, B_1,  A_1,  C_1 }, //D449
    { 0, B_7,  A_7,  C_7 }, //D455
    { 0, B_11, A_11, C_11 }, //D459
    { 0, B_14, A_14, C_14 }, //D462
    { 0, B_15,  A_15,  C_15 }, //D463
    { 0, B_16,  A_16,  C_16 } //D464
};

led_config_t g_led_config = {
    {
    #define XXX NO_LED

    {   0,   2,   4,   6,   8,  10,  12 },
    {   1,   3,   5,   7,   9,  11, XXX },
    {  14,  16,  18,  20,  22,  24,  26 },
    {  15,  17,  19,  21,  23,  25,  13 },
    {  28,  30,  32,  34,  36,  38,  40 },
    {  29,  31,  33,  35,  37,  39, XXX },
    {  41,  43,  45,  47,  49,  51, XXX },
    {  42,  44,  46,  48,  50,  52,  27 },
    {  54,  55, XXX,  57, XXX,  60,  53 },
    {  56, XXX, XXX,  58,  59,  61, XXX },

    }, {
    {  0,0  }, { 16,0  }, { 32,0  }, { 48,0  }, { 65,0  }, { 81,0  }, { 97,0  }, {113,0  }, {129,0  }, {145,0  },
    {161,0  }, {178,0  }, {194,0  }, {218,0  }, {  4,16 }, { 24,16 }, { 40,16 }, { 57,16 }, { 73,16 }, { 89,16 },
    {105,16 }, {121,16 }, {137,16 }, {153,16 }, {170,16 }, {186,16 }, {202,16 }, {224,24 }, {  6,32 }, { 28,32 },
    { 44,32 }, { 61,32 }, { 77,32 }, { 93,32 }, {109,32 }, {125,32 }, {141,32 }, {157,32 }, {174,32 }, {190,32 },
    {206,32 }, {  2,48 }, { 20,48 }, { 36,48 }, { 52,48 }, { 69,48 }, { 85,48 }, {101,48 }, {117,48 }, {133,48 },
    {149,48 }, {165,48 }, {182,48 }, {212,48 }, {  2,64 }, { 22,64 }, { 42,64 }, {103,64 }, {163,64 }, {184,64 },
    {204,64 }, {224,64 },
    }, {
        1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
        1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
        8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
        1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
        1, 1, 1, 4, 1, 1, 1, 1
    }
};

__attribute__((weak)) void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
    if (host_keyboard_led_state().caps_lock && CAPS_LOCK_ENABLE) {
        for (uint8_t i = led_min; i <= led_max; i++) {
            if (g_led_config.flags[i] & CAPS_LED_GROUP) {
                rgb_matrix_set_color(i, CAPS_LOCK_COLOR);
            }
        }
    }
}
#endif