Просмотр исходного кода

Migrate `g_led_config` to DD (E, F) (#25561)

Jack Sangdahl 10 месяцев назад
Родитель
Сommit
6aa85699a5

+ 0 - 55
keyboards/eek/eek.c

@@ -1,55 +0,0 @@
-/* Copyright 2020 klackygears
- *
- * 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 "quantum.h"
-
-#ifdef RGB_MATRIX_ENABLE
-
-  // Logical Layout
-  // Columns
-  //  0  1  2  3  4
-  //                   ROWS
-  //  4  3  2  1  0      0
-  //  5  6  7  8  9      1
-  // 14 13 12 11 10      2
-  //       15 16 17      3
-
- // Logical Layout v1.3
-  // Columns
-  //  0  1  2  3  4  5  6  7  8  9
-  //                                 ROWS
-  //  0  1  2  3  4  5  6  7  8  9     0
-  // 19 18 17 16 15 14 13 12 11 10     1
-  // 20 21 22 23 24 25 26 27 28 29     2
-  //       35 34 33 32 31 30           3
-
-
-led_config_t g_led_config = { {
-    {    0,  1,  2,  3,  4,  5,  6,  7,  8,  9  },
-    {   19, 18, 17, 16, 15, 14, 13, 12, 11, 10  },
-    {   20, 21, 22, 23, 24, 25, 26, 27, 28, 29  },
-    { NO_LED, NO_LED, 35, 34, 33, 32, 31, 30, NO_LED, NO_LED }
-}, {
-    {  31,  0 }, {  46,  0 }, {  62,  0 }, {  77,  7 }, {  93, 13 }, { 131, 13 }, { 147,  7 }, { 162,  0 }, { 178,  0 }, { 193,  0 },
-    { 201, 10 }, { 185, 10 }, { 170, 10 }, { 154, 17 }, { 139, 24 }, {  85, 24 }, {  70, 17 }, {  54, 10 }, {  39, 10 }, {  23, 10 },
-    {  15, 20 }, {  31, 20 }, {  46, 20 }, {  62, 27 }, {  77, 34 }, { 147, 34 }, { 162, 27 }, { 178, 20 }, { 193, 20 }, { 209, 20 },
-    { 185, 34 }, { 170, 37 }, { 154, 44 }, {  70, 44 }, {  54, 37 }, {  39, 34 },
-}, {
-     4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
-     4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
-     4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
-     1, 1, 1, 1, 1, 1,
-} };
-#endif

+ 38 - 0
keyboards/eek/info.json

@@ -13,6 +13,44 @@
             "val": 150
         },
         "driver": "ws2812",
+        "layout": [
+            {"matrix": [0, 0], "x": 31, "y": 0, "flags": 4},
+            {"matrix": [0, 1], "x": 46, "y": 0, "flags": 4},
+            {"matrix": [0, 2], "x": 62, "y": 0, "flags": 4},
+            {"matrix": [0, 3], "x": 77, "y": 7, "flags": 4},
+            {"matrix": [0, 4], "x": 93, "y": 13, "flags": 4},
+            {"matrix": [0, 5], "x": 131, "y": 13, "flags": 4},
+            {"matrix": [0, 6], "x": 147, "y": 7, "flags": 4},
+            {"matrix": [0, 7], "x": 162, "y": 0, "flags": 4},
+            {"matrix": [0, 8], "x": 178, "y": 0, "flags": 4},
+            {"matrix": [0, 9], "x": 193, "y": 0, "flags": 4},
+            {"matrix": [1, 9], "x": 201, "y": 10, "flags": 4},
+            {"matrix": [1, 8], "x": 185, "y": 10, "flags": 4},
+            {"matrix": [1, 7], "x": 170, "y": 10, "flags": 4},
+            {"matrix": [1, 6], "x": 154, "y": 17, "flags": 4},
+            {"matrix": [1, 5], "x": 139, "y": 24, "flags": 4},
+            {"matrix": [1, 4], "x": 85, "y": 24, "flags": 4},
+            {"matrix": [1, 3], "x": 70, "y": 17, "flags": 4},
+            {"matrix": [1, 2], "x": 54, "y": 10, "flags": 4},
+            {"matrix": [1, 1], "x": 39, "y": 10, "flags": 4},
+            {"matrix": [1, 0], "x": 23, "y": 10, "flags": 4},
+            {"matrix": [2, 0], "x": 15, "y": 20, "flags": 4},
+            {"matrix": [2, 1], "x": 31, "y": 20, "flags": 4},
+            {"matrix": [2, 2], "x": 46, "y": 20, "flags": 4},
+            {"matrix": [2, 3], "x": 62, "y": 27, "flags": 4},
+            {"matrix": [2, 4], "x": 77, "y": 34, "flags": 4},
+            {"matrix": [2, 5], "x": 147, "y": 34, "flags": 4},
+            {"matrix": [2, 6], "x": 162, "y": 27, "flags": 4},
+            {"matrix": [2, 7], "x": 178, "y": 20, "flags": 4},
+            {"matrix": [2, 8], "x": 193, "y": 20, "flags": 4},
+            {"matrix": [2, 9], "x": 209, "y": 20, "flags": 4},
+            {"matrix": [3, 7], "x": 185, "y": 34, "flags": 1},
+            {"matrix": [3, 6], "x": 170, "y": 37, "flags": 1},
+            {"matrix": [3, 5], "x": 154, "y": 44, "flags": 1},
+            {"matrix": [3, 4], "x": 70, "y": 44, "flags": 1},
+            {"matrix": [3, 3], "x": 54, "y": 37, "flags": 1},
+            {"matrix": [3, 2], "x": 39, "y": 34, "flags": 1}
+        ],
         "max_brightness": 200
     },
     "features": {

+ 0 - 31
keyboards/ein_60/ein_60.c

@@ -15,37 +15,6 @@
  */
 #include "quantum.h"
 
-#ifdef RGB_MATRIX_ENABLE
-
-  // Logical Layout
-  // Columns
-  //  0  1  2  3  4  5  6  7  8  9 10 11 12 13
-  //                                            ROWS
-  // 37  0  1  2  3  4  5  6  7  8  9 10 11 12   0
-  // 36                                     13   1
-  // 35                                     14   2
-  // 34                                     15   3
-  // 33                                     16   3
-  // 32                                     17   4
-  // 31 30 29 28 27 26 25 24 23 22 21 20 19 18   5
-
-led_config_t g_led_config = { {
-    {   36,      1,      2,      3,      4,      5,      5,      6,      7,      8,      9,     10,     13   },
-    {   34,      1,      2,      3,      4,      5, NO_LED,      6,      7,      8,      9,     10,     15   },
-    {   33,     30,     29,     28,     27,     26, NO_LED,     23,     22,     21,     20,     19,     16   },
-    {   32,     30,     29,     28,     27,     26,     24,     23,     22,     21,     20,     19,     17   }
-}, {
-    {  30,  0 }, {  45,  0 }, {  60,  0 }, {  75,  0 }, {  90,  0 }, { 105,  0 }, { 119,  0 }, { 134,  0 }, { 149,  0 }, { 164,  0 }, { 179,  0 }, { 194,  0 }, { 209,  0 }, { 224, 11 },
-    { 224, 21 }, { 224, 32 }, { 224, 43 }, { 224, 53 }, { 209, 64 }, { 194, 64 }, { 179, 64 }, { 164, 64 }, { 149, 64 }, { 134, 64 }, { 119, 64 }, { 105, 64 }, {  90, 64 },
-    {  75, 64 }, {  60, 64 }, {  45, 64 }, {  30, 64 }, {  15, 64 }, {   0, 53 }, {   0, 43 }, {   0, 32 }, {   0, 21 }, {   0, 11 }, {  15,  0 },
-}, {
-     2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
-     2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
-     1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
-     1, 2,
-} };
-#endif
-
 #ifdef AUDIO_ENABLE
 const uint8_t music_map[MATRIX_ROWS][MATRIX_COLS] = {
    {30, 31, 32, 33, 34, 35, 35, 36, 37, 38, 39, 40, 41},

+ 40 - 0
keyboards/ein_60/keyboard.json

@@ -12,6 +12,46 @@
             "val": 150
         },
         "driver": "ws2812",
+        "layout": [
+            {"x": 30, "y": 0, "flags": 2},
+            {"matrix": [1, 1], "x": 45, "y": 0, "flags": 2},
+            {"matrix": [1, 2], "x": 60, "y": 0, "flags": 2},
+            {"matrix": [1, 3], "x": 75, "y": 0, "flags": 2},
+            {"matrix": [1, 4], "x": 90, "y": 0, "flags": 2},
+            {"matrix": [1, 5], "x": 105, "y": 0, "flags": 2},
+            {"matrix": [1, 7], "x": 119, "y": 0, "flags": 2},
+            {"matrix": [1, 8], "x": 134, "y": 0, "flags": 2},
+            {"matrix": [1, 9], "x": 149, "y": 0, "flags": 2},
+            {"matrix": [1, 10], "x": 164, "y": 0, "flags": 2},
+            {"matrix": [1, 11], "x": 179, "y": 0, "flags": 2},
+            {"x": 194, "y": 0, "flags": 2},
+            {"x": 209, "y": 0, "flags": 2},
+            {"matrix": [0, 12], "x": 224, "y": 11, "flags": 1},
+            {"x": 224, "y": 21, "flags": 1},
+            {"matrix": [1, 12], "x": 224, "y": 32, "flags": 1},
+            {"matrix": [2, 12], "x": 224, "y": 43, "flags": 1},
+            {"matrix": [3, 12], "x": 224, "y": 53, "flags": 1},
+            {"x": 209, "y": 64, "flags": 1},
+            {"matrix": [3, 11], "x": 194, "y": 64, "flags": 1},
+            {"matrix": [3, 10], "x": 179, "y": 64, "flags": 1},
+            {"matrix": [3, 9], "x": 164, "y": 64, "flags": 1},
+            {"matrix": [3, 8], "x": 149, "y": 64, "flags": 1},
+            {"matrix": [3, 7], "x": 134, "y": 64, "flags": 1},
+            {"matrix": [3, 6], "x": 119, "y": 64, "flags": 1},
+            {"x": 105, "y": 64, "flags": 1},
+            {"matrix": [3, 5], "x": 90, "y": 64, "flags": 1},
+            {"matrix": [3, 4], "x": 75, "y": 64, "flags": 1},
+            {"matrix": [3, 3], "x": 60, "y": 64, "flags": 1},
+            {"matrix": [3, 2], "x": 45, "y": 64, "flags": 1},
+            {"matrix": [3, 1], "x": 30, "y": 64, "flags": 1},
+            {"x": 15, "y": 64, "flags": 1},
+            {"matrix": [3, 0], "x": 0, "y": 53, "flags": 1},
+            {"matrix": [2, 0], "x": 0, "y": 43, "flags": 1},
+            {"matrix": [1, 0], "x": 0, "y": 32, "flags": 1},
+            {"x": 0, "y": 21, "flags": 1},
+            {"matrix": [0, 0], "x": 0, "y": 11, "flags": 1},
+            {"x": 15, "y": 0, "flags": 2}
+        ],
         "max_brightness": 200
     },
     "rgblight": {

+ 0 - 66
keyboards/elephant42/elephant42.c

@@ -1,66 +0,0 @@
-/* Copyright 2021 illness072
- *
- * 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 "quantum.h"
-
-#if defined(RGB_MATRIX_ENABLE)
-led_config_t g_led_config = {
-    { // keymap to LED number
-        // left
-        {    19,     18, 13, 12, 7, 6}, // R3
-        {    20,     17, 14, 11, 8, 5}, // R2
-        {NO_LED,     16, 15, 10, 9, 4}, // R1
-        {NO_LED, NO_LED,  0,  1, 2, 3}, // R0
-        // right
-        {    46,     45, 40, 39, 34, 33}, // R3
-        {    47,     44, 41, 38, 35, 32}, // R2
-        {NO_LED,     43, 42, 37, 36, 31}, // R1
-        {NO_LED, NO_LED, 27, 28, 29, 30}, // R0
-    },
-    {// phisical LED position, {x, y} : x = 0..224, y = 0..64
-        // left-bg [LED_01-21]
-        {56, 65}, {77, 68}, {95, 79}, {109, 91}, 
-        {87, 46}, {87, 29}, {87, 12}, { 69, 43}, { 69, 26}, { 69,  8}, 
-        {52, 35}, {52, 17}, {52,  0}, { 35,  4}, { 35, 21}, { 35, 38}, 
-        {17, 54}, {17, 36}, {17, 19}, {  0, 26}, {  0, 43}, 
-        // left-ug [LED_22-27]
-        {25, 49}, {26, 19}, {60, 14}, {106, 33}, {107, 72}, { 70, 66}, 
-        // right-bg [LED_28-48]
-        {199, 65}, {179, 68}, {160, 79}, {146, 91}, 
-        {168, 46}, {168, 29}, {168, 12}, {186, 43}, {186, 26}, {186,  8}, 
-        {203, 35}, {203, 17}, {203,  0}, {220,  4}, {220, 21}, {220, 38}, 
-        {238, 54}, {238, 36}, {238, 19}, {255, 26}, {255, 43}, 
-        // right-ug [LED_49-54]
-        {230, 49}, {230, 19}, {195, 14}, {149, 33}, {148, 72}, {185, 66}, 
-    },
-    {// LED Index to Flag
-        // Left-bg [LED_01-21]
-        LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
-        LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
-        LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
-        LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
-        // left-ug [LED_22-27]
-        LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW,
-        // right-bg [LED_28-48]
-        LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
-        LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
-        LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
-        LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
-        // right-ug [LED_49-54]
-        LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW
-    }
-};
-#endif

+ 56 - 0
keyboards/elephant42/keyboard.json

@@ -13,6 +13,62 @@
         "sat_steps": 8,
         "val_steps": 8,
         "speed_steps": 8,
+        "layout": [
+            {"matrix": [3, 2], "x": 52, "y": 45, "flags": 4},
+            {"matrix": [3, 3], "x": 69, "y": 51, "flags": 4},
+            {"matrix": [3, 4], "x": 86, "y": 58, "flags": 4},
+            {"matrix": [3, 5], "x": 103, "y": 64, "flags": 4},
+            {"matrix": [2, 5], "x": 86, "y": 34, "flags": 4},
+            {"matrix": [1, 5], "x": 86, "y": 21, "flags": 4},
+            {"matrix": [0, 5], "x": 86, "y": 8, "flags": 4},
+            {"matrix": [0, 4], "x": 69, "y": 7, "flags": 4},
+            {"matrix": [1, 4], "x": 69, "y": 20, "flags": 4},
+            {"matrix": [2, 4], "x": 69, "y": 33, "flags": 4},
+            {"matrix": [2, 3], "x": 52, "y": 26, "flags": 4},
+            {"matrix": [1, 3], "x": 52, "y": 13, "flags": 4},
+            {"matrix": [0, 3], "x": 52, "y": 0, "flags": 4},
+            {"matrix": [0, 2], "x": 34, "y": 6, "flags": 4},
+            {"matrix": [1, 2], "x": 34, "y": 19, "flags": 4},
+            {"matrix": [2, 2], "x": 34, "y": 32, "flags": 4},
+            {"matrix": [2, 1], "x": 17, "y": 44, "flags": 4},
+            {"matrix": [1, 1], "x": 17, "y": 31, "flags": 4},
+            {"matrix": [0, 1], "x": 17, "y": 18, "flags": 4},
+            {"matrix": [0, 0], "x": 0, "y": 24, "flags": 4},
+            {"matrix": [1, 0], "x": 0, "y": 37, "flags": 4},
+            {"x": 26, "y": 42, "flags": 2},
+            {"x": 26, "y": 19, "flags": 2},
+            {"x": 61, "y": 7, "flags": 2},
+            {"x": 103, "y": 21, "flags": 2},
+            {"x": 103, "y": 51, "flags": 2},
+            {"x": 69, "y": 45, "flags": 2},
+            {"matrix": [7, 2], "x": 172, "y": 45, "flags": 4},
+            {"matrix": [7, 3], "x": 155, "y": 51, "flags": 4},
+            {"matrix": [7, 4], "x": 138, "y": 58, "flags": 4},
+            {"matrix": [7, 5], "x": 121, "y": 64, "flags": 4},
+            {"matrix": [6, 5], "x": 138, "y": 34, "flags": 4},
+            {"matrix": [5, 5], "x": 138, "y": 21, "flags": 4},
+            {"matrix": [4, 5], "x": 138, "y": 8, "flags": 4},
+            {"matrix": [4, 4], "x": 155, "y": 7, "flags": 4},
+            {"matrix": [5, 4], "x": 155, "y": 20, "flags": 4},
+            {"matrix": [6, 4], "x": 155, "y": 33, "flags": 4},
+            {"matrix": [6, 3], "x": 172, "y": 26, "flags": 4},
+            {"matrix": [5, 3], "x": 172, "y": 13, "flags": 4},
+            {"matrix": [4, 3], "x": 172, "y": 0, "flags": 4},
+            {"matrix": [4, 2], "x": 189, "y": 6, "flags": 4},
+            {"matrix": [5, 2], "x": 189, "y": 19, "flags": 4},
+            {"matrix": [6, 2], "x": 189, "y": 32, "flags": 4},
+            {"matrix": [6, 1], "x": 206, "y": 44, "flags": 4},
+            {"matrix": [5, 1], "x": 206, "y": 31, "flags": 4},
+            {"matrix": [4, 1], "x": 206, "y": 18, "flags": 4},
+            {"matrix": [4, 0], "x": 224, "y": 24, "flags": 4},
+            {"matrix": [5, 0], "x": 224, "y": 37, "flags": 4},
+            {"x": 197, "y": 42, "flags": 2},
+            {"x": 197, "y": 19, "flags": 2},
+            {"x": 163, "y": 7, "flags": 2},
+            {"x": 121, "y": 21, "flags": 2},
+            {"x": 121, "y": 51, "flags": 2},
+            {"x": 155, "y": 45, "flags": 2}
+        ],
         "max_brightness": 170,
         "split_count": [27, 27]
     },

+ 0 - 36
keyboards/ergodox_ez/ergodox_ez.c

@@ -275,42 +275,6 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
     {1, C2_11, C1_11, C3_11}, // LED23
     {1, C5_11, C4_11, C6_11} // LED24
 };
-
-
-led_config_t g_led_config = { {
-    { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
-    {  28,  33,  38,  43,  47, NO_LED },
-    {  27,  32,  37,  42,  46, NO_LED },
-    {  26,  31,  36,  41,  45, NO_LED },
-    {  25,  30,  35,  40,  44, NO_LED },
-    {  24,  29,  34,  39, NO_LED, NO_LED },
-    { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
-    { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
-    {   0,   5,  10,  15, NO_LED, NO_LED },
-    {   1,   6,  11,  16,  20, NO_LED },
-    {   2,   7,  12,  17,  21, NO_LED },
-    {   3,   8,  13,  18,  22, NO_LED },
-    {   4,   9,  14,  19,  23, NO_LED },
-    { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }
-}, {
-    { 137,   0 }, { 154,   0 }, { 172,   0 }, { 189,   0 }, { 206,   0 }, { 137,  12 },
-    { 154,  12 }, { 172,  12 }, { 189,  12 }, { 206,  12 }, { 137,  25 }, { 154,  25 },
-    { 172,  25 }, { 189,  25 }, { 206,  25 }, { 137,  38 }, { 154,  38 }, { 172,  38 },
-    { 189,  38 }, { 206,  38 }, { 154,  51 }, { 172,  51 }, { 189,  51 }, { 206,  51 },
-    {  86,   0 }, {  68,   0 }, {  51,   0 }, {  34,   0 }, {  17,   0 }, {  86,  12 },
-    {  68,  12 }, {  51,  12 }, {  34,  12 }, {  17,  12 }, {  86,  25 }, {  68,  25 },
-    {  51,  25 }, {  34,  25 }, {  17,  25 }, {  86,  38 }, {  68,  38 }, {  51,  38 },
-    {  34,  38 }, {  17,  38 }, {  68,  51 }, {  51,  51 }, {  34,  51 }, {  17,  51 }
-}, {
-    4, 4, 4, 4, 4, 4,
-    4, 4, 4, 4, 4, 4,
-    4, 4, 4, 4, 4, 4,
-    4, 4, 1, 1, 1, 1,
-    4, 4, 4, 4, 4, 4,
-    4, 4, 4, 4, 4, 4,
-    4, 4, 4, 4, 4, 4,
-    4, 4, 1, 1, 1, 1
-} };
 // clang-format on
 
 #    ifdef ORYX_CONFIGURATOR

+ 50 - 0
keyboards/ergodox_ez/info.json

@@ -69,6 +69,56 @@
             "pixel_fractal": true
         },
         "driver": "is31fl3731",
+        "layout": [
+            {"matrix": [8, 0], "x": 137, "y": 0, "flags": 4},
+            {"matrix": [9, 0], "x": 154, "y": 0, "flags": 4},
+            {"matrix": [10, 0], "x": 172, "y": 0, "flags": 4},
+            {"matrix": [11, 0], "x": 189, "y": 0, "flags": 4},
+            {"matrix": [12, 0], "x": 206, "y": 0, "flags": 4},
+            {"matrix": [8, 1], "x": 137, "y": 12, "flags": 4},
+            {"matrix": [9, 1], "x": 154, "y": 12, "flags": 4},
+            {"matrix": [10, 1], "x": 172, "y": 12, "flags": 4},
+            {"matrix": [11, 1], "x": 189, "y": 12, "flags": 4},
+            {"matrix": [12, 1], "x": 206, "y": 12, "flags": 4},
+            {"matrix": [8, 2], "x": 137, "y": 25, "flags": 4},
+            {"matrix": [9, 2], "x": 154, "y": 25, "flags": 4},
+            {"matrix": [10, 2], "x": 172, "y": 25, "flags": 4},
+            {"matrix": [11, 2], "x": 189, "y": 25, "flags": 4},
+            {"matrix": [12, 2], "x": 206, "y": 25, "flags": 4},
+            {"matrix": [8, 3], "x": 137, "y": 38, "flags": 4},
+            {"matrix": [9, 3], "x": 154, "y": 38, "flags": 4},
+            {"matrix": [10, 3], "x": 172, "y": 38, "flags": 4},
+            {"matrix": [11, 3], "x": 189, "y": 38, "flags": 4},
+            {"matrix": [12, 3], "x": 206, "y": 38, "flags": 4},
+            {"matrix": [9, 4], "x": 154, "y": 51, "flags": 1},
+            {"matrix": [10, 4], "x": 172, "y": 51, "flags": 1},
+            {"matrix": [11, 4], "x": 189, "y": 51, "flags": 1},
+            {"matrix": [12, 4], "x": 206, "y": 51, "flags": 1},
+            {"matrix": [5, 0], "x": 86, "y": 0, "flags": 4},
+            {"matrix": [4, 0], "x": 68, "y": 0, "flags": 4},
+            {"matrix": [3, 0], "x": 51, "y": 0, "flags": 4},
+            {"matrix": [2, 0], "x": 34, "y": 0, "flags": 4},
+            {"matrix": [1, 0], "x": 17, "y": 0, "flags": 4},
+            {"matrix": [5, 1], "x": 86, "y": 12, "flags": 4},
+            {"matrix": [4, 1], "x": 68, "y": 12, "flags": 4},
+            {"matrix": [3, 1], "x": 51, "y": 12, "flags": 4},
+            {"matrix": [2, 1], "x": 34, "y": 12, "flags": 4},
+            {"matrix": [1, 1], "x": 17, "y": 12, "flags": 4},
+            {"matrix": [5, 2], "x": 86, "y": 25, "flags": 4},
+            {"matrix": [4, 2], "x": 68, "y": 25, "flags": 4},
+            {"matrix": [3, 2], "x": 51, "y": 25, "flags": 4},
+            {"matrix": [2, 2], "x": 34, "y": 25, "flags": 4},
+            {"matrix": [1, 2], "x": 17, "y": 25, "flags": 4},
+            {"matrix": [5, 3], "x": 86, "y": 38, "flags": 4},
+            {"matrix": [4, 3], "x": 68, "y": 38, "flags": 4},
+            {"matrix": [3, 3], "x": 51, "y": 38, "flags": 4},
+            {"matrix": [2, 3], "x": 34, "y": 38, "flags": 4},
+            {"matrix": [1, 3], "x": 17, "y": 38, "flags": 4},
+            {"matrix": [4, 4], "x": 68, "y": 51, "flags": 1},
+            {"matrix": [3, 4], "x": 51, "y": 51, "flags": 1},
+            {"matrix": [2, 4], "x": 34, "y": 51, "flags": 1},
+            {"matrix": [1, 4], "x": 17, "y": 51, "flags": 1}
+        ],
         "led_flush_limit": 26,
         "led_process_limit": 5,
         "sleep": true

+ 51 - 1
keyboards/evyd13/atom47/rev5/keyboard.json

@@ -39,7 +39,57 @@
             "pixel_flow": true,
             "pixel_fractal": true
         },
-        "driver": "is31fl3733"
+        "driver": "is31fl3733",
+        "layout": [
+            {"matrix": [0, 0], "x": 9, "y": 8, "flags": 1},
+            {"matrix": [0, 1], "x": 26, "y": 8, "flags": 4},
+            {"matrix": [0, 2], "x": 43, "y": 8, "flags": 4},
+            {"matrix": [0, 3], "x": 60, "y": 8, "flags": 4},
+            {"matrix": [0, 4], "x": 78, "y": 8, "flags": 4},
+            {"matrix": [0, 5], "x": 95, "y": 8, "flags": 4},
+            {"matrix": [0, 6], "x": 112, "y": 8, "flags": 4},
+            {"matrix": [0, 7], "x": 129, "y": 8, "flags": 4},
+            {"matrix": [0, 8], "x": 146, "y": 8, "flags": 4},
+            {"matrix": [0, 9], "x": 164, "y": 8, "flags": 4},
+            {"matrix": [0, 10], "x": 181, "y": 8, "flags": 4},
+            {"matrix": [0, 11], "x": 198, "y": 8, "flags": 1},
+            {"matrix": [0, 12], "x": 215, "y": 8, "flags": 1},
+            {"matrix": [1, 0], "x": 11, "y": 24, "flags": 1},
+            {"matrix": [1, 1], "x": 30, "y": 24, "flags": 4},
+            {"matrix": [1, 2], "x": 47, "y": 24, "flags": 4},
+            {"matrix": [1, 3], "x": 64, "y": 24, "flags": 4},
+            {"matrix": [1, 4], "x": 82, "y": 24, "flags": 4},
+            {"matrix": [1, 5], "x": 99, "y": 24, "flags": 4},
+            {"matrix": [1, 6], "x": 116, "y": 24, "flags": 4},
+            {"matrix": [1, 7], "x": 134, "y": 24, "flags": 4},
+            {"matrix": [1, 8], "x": 151, "y": 24, "flags": 4},
+            {"matrix": [1, 9], "x": 168, "y": 24, "flags": 4},
+            {"matrix": [1, 10], "x": 185, "y": 24, "flags": 4},
+            {"matrix": [1, 12], "x": 209, "y": 24, "flags": 1},
+            {"matrix": [2, 0], "x": 15, "y": 40, "flags": 1},
+            {"matrix": [2, 1], "x": 20, "y": 22, "flags": 8},
+            {"matrix": [2, 2], "x": 39, "y": 40, "flags": 4},
+            {"matrix": [2, 3], "x": 56, "y": 40, "flags": 4},
+            {"matrix": [2, 4], "x": 73, "y": 40, "flags": 4},
+            {"matrix": [2, 5], "x": 90, "y": 40, "flags": 4},
+            {"matrix": [2, 6], "x": 108, "y": 40, "flags": 4},
+            {"matrix": [2, 7], "x": 125, "y": 40, "flags": 4},
+            {"matrix": [2, 8], "x": 142, "y": 40, "flags": 4},
+            {"matrix": [2, 9], "x": 159, "y": 40, "flags": 4},
+            {"matrix": [2, 10], "x": 177, "y": 40, "flags": 4},
+            {"matrix": [2, 11], "x": 196, "y": 40, "flags": 1},
+            {"matrix": [2, 12], "x": 215, "y": 40, "flags": 1},
+            {"matrix": [3, 0], "x": 11, "y": 56, "flags": 1},
+            {"matrix": [3, 1], "x": 30, "y": 56, "flags": 1},
+            {"matrix": [3, 2], "x": 47, "y": 56, "flags": 1},
+            {"matrix": [3, 3], "x": 64, "y": 56, "flags": 1},
+            {"matrix": [3, 5], "x": 88, "y": 56, "flags": 1},
+            {"matrix": [3, 7], "x": 127, "y": 56, "flags": 1},
+            {"matrix": [3, 9], "x": 159, "y": 56, "flags": 1},
+            {"matrix": [3, 10], "x": 177, "y": 56, "flags": 1},
+            {"matrix": [3, 11], "x": 194, "y": 56, "flags": 1},
+            {"matrix": [3, 12], "x": 213, "y": 56, "flags": 1}
+        ]
     },
     "matrix_pins": {
         "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "E6", "D7", "B4", "B5", "B6", "C6", "C7"],

+ 0 - 67
keyboards/evyd13/atom47/rev5/rev5.c

@@ -77,73 +77,6 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
     {0, SW11_CS13,  SW12_CS13,  SW10_CS13}
 };
 
-led_config_t g_led_config = { {
-  // Key Matrix to LED Index
-  {   0,  1,  2,  3,  4,  5,  6,  7,  8,  9,  10, 11, 12   },
-  {   13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, NO_LED, 24   },
-  {   25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37   },
-  {   38, 39, 40, 41, NO_LED, 42, NO_LED, 43, NO_LED, 44, 45, 46, 47   }
-}, {
-  // LED Index to Physical Position
-  { 9,     8 },
-  { 26,    8 },
-  { 43,    8 },
-  { 60,    8 },
-  { 78,    8 },
-  { 95,    8 },
-  { 112,   8 },
-  { 129,   8 },
-  { 146,   8 },
-  { 164,   8 },
-  { 181,   8 },
-  { 198,   8 },
-  { 215,   8 },
-
-  { 11,   24 },
-  { 30,   24 },
-  { 47,   24 },
-  { 64,   24 },
-  { 82,   24 },
-  { 99,   24 },
-  { 116,  24 },
-  { 134,  24 },
-  { 151,  24 },
-  { 168,  24 },
-  { 185,  24 },
-  { 209,  24 },
-
-  { 15,   40 },
-  { 20,   22 },
-  { 39,   40 },
-  { 56,   40 },
-  { 73,   40 },
-  { 90,   40 },
-  { 108,  40 },
-  { 125,  40 },
-  { 142,  40 },
-  { 159,  40 },
-  { 177,  40 },
-  { 196,  40 },
-  { 215,  40 },
-
-  { 11,   56 },
-  { 30,   56 },
-  { 47,   56 },
-  { 64,   56 },
-  { 88,   56 },
-  { 127,  56 },
-  { 159,  56 },
-  { 177,  56 },
-  { 194,  56 },
-  { 213,  56 },
-}, {
-  // LED Index to Flag
-  1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
-  1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
-  1, 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
-  1, 1, 1, 1, 1, 1, 1, 1, 1, 1
-} };
-
 bool rgb_matrix_indicators_kb(void) {
     if (!rgb_matrix_indicators_user()) {
         return false;

+ 0 - 75
keyboards/exclusive/e6_rgb/e6_rgb.c

@@ -90,81 +90,6 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
     {0, SW5_CS16,   SW4_CS16,   SW6_CS16},
     {0, SW2_CS16,   SW1_CS16,   SW3_CS16},
 };
-
-led_config_t g_led_config = { {
-    {   0,   1,   4,   5,  12,  13,  36,  20,  21,  24,  25,  16,  17,  28 },
-    {   2,   6,   7,  14,  15,  37,  38,  22,  23,  26,  27,  18,  19,  30 },
-    {   3,   8,   9,  32,  33,  39,  40,  44,  45,  48,  49,  52,  31, NO_LED },
-    {  59,  10,  11,  34,  35,  41,  42,  46,  47,  50,  53,  54,  56, NO_LED },
-    {  60,  61,  62, NO_LED, NO_LED,  43,  51,  55,  58,  57, NO_LED, NO_LED, NO_LED, NO_LED }
-}, {
-//cs1
-    {   0,   0 }, {  17,   0 }, {   0,  16 }, {   0,  32 },
-//cs2
-    {  34,   0 }, {  51,   0 }, {  17,  16 }, {  34,  16 },
-//cs3
-    {  17,  32 }, {  34,  32 }, {  17,  48 }, {  34,  48 },
-//cs4
-    {  68,   0 }, {  85,   0 }, {  51,  16 }, {  68,  16 },
-//cs5
-    { 187,   0 }, { 204,   0 }, { 187,  16 }, { 204,  16 },
-//cs6
-    { 119,   0 }, { 136,   0 }, { 119,  16 }, { 136,  16 },
-//cs7
-    { 153,   0 }, { 170,   0 }, { 153,  16 }, { 170,  16 },
-//cs8
-    { 221,   0 }, { 221,   0 }, { 221,  32 }, { 221,  16 },
-//cs9
-    {  51,  32 }, {  68,  32 }, {  51,  48 }, {  68,  48 },
-//cs10
-    { 102,   0 }, {  85,  16 }, { 102,  16 }, {  85,  32 },
-//cs11
-    { 102,  32 }, {  85,  48 }, { 102,  48 }, { 102,  64 },
-//cs12
-    { 119,  32 }, { 136,  32 }, { 119,  48 }, { 136,  48 },
-//cs13
-    { 153,  32 }, { 170,  32 }, { 153,  48 }, { 136,  48 },
-//cs14
-    { 187,  32 }, { 170,  48 }, { 187,  48 }, { 153,  48 },
-//cs15
-    { 221,  48 }, { 221,  64 }, { 204,  64 },
-//cs16
-    {   0,  48 }, {   0,  64 }, {  17,  64 }, {  34,  64 }
-}, {
-//cs1
-    1, 4, 1, 1,
-//cs2
-    4, 4, 4, 4,
-//cs3
-    4, 4, 4, 4,
-//cs4
-    4, 4, 4, 4,
-//cs5
-    4, 4, 4, 4,
-//cs6
-    4, 4, 4, 4,
-//cs7
-    4, 4, 4, 4,
-//cs8
-    4, 4, 1, 1,
-//cs9
-    4, 4, 4, 4,
-//cs10
-    4, 4, 4, 4,
-//cs11
-    4, 4, 4, 4,
-//cs12
-    4, 4, 4, 4,
-//cs13
-    4, 4, 4, 1,
-//cs14
-    4, 4, 1, 1,
-//cs15
-    1, 1, 1,
-//cs16
-    1, 1, 1, 1
-} };
-
 #endif
 
 bool process_record_kb(uint16_t keycode, keyrecord_t *record) {

+ 66 - 1
keyboards/exclusive/e6_rgb/keyboard.json

@@ -8,7 +8,72 @@
         "device_version": "0.6.2"
     },
     "rgb_matrix": {
-        "driver": "is31fl3733"
+        "driver": "is31fl3733",
+        "layout": [
+            {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
+            {"matrix": [0, 1], "x": 17, "y": 0, "flags": 4},
+            {"matrix": [1, 0], "x": 0, "y": 16, "flags": 1},
+            {"matrix": [2, 0], "x": 0, "y": 32, "flags": 1},
+            {"matrix": [0, 2], "x": 34, "y": 0, "flags": 4},
+            {"matrix": [0, 3], "x": 51, "y": 0, "flags": 4},
+            {"matrix": [1, 1], "x": 17, "y": 16, "flags": 4},
+            {"matrix": [1, 2], "x": 34, "y": 16, "flags": 4},
+            {"matrix": [2, 1], "x": 17, "y": 32, "flags": 4},
+            {"matrix": [2, 2], "x": 34, "y": 32, "flags": 4},
+            {"matrix": [3, 1], "x": 17, "y": 48, "flags": 4},
+            {"matrix": [3, 2], "x": 34, "y": 48, "flags": 4},
+            {"matrix": [0, 4], "x": 68, "y": 0, "flags": 4},
+            {"matrix": [0, 5], "x": 85, "y": 0, "flags": 4},
+            {"matrix": [1, 3], "x": 51, "y": 16, "flags": 4},
+            {"matrix": [1, 4], "x": 68, "y": 16, "flags": 4},
+            {"matrix": [0, 11], "x": 187, "y": 0, "flags": 4},
+            {"matrix": [0, 12], "x": 204, "y": 0, "flags": 4},
+            {"matrix": [1, 11], "x": 187, "y": 16, "flags": 4},
+            {"matrix": [1, 12], "x": 204, "y": 16, "flags": 4},
+            {"matrix": [0, 7], "x": 119, "y": 0, "flags": 4},
+            {"matrix": [0, 8], "x": 136, "y": 0, "flags": 4},
+            {"matrix": [1, 7], "x": 119, "y": 16, "flags": 4},
+            {"matrix": [1, 8], "x": 136, "y": 16, "flags": 4},
+            {"matrix": [0, 9], "x": 153, "y": 0, "flags": 4},
+            {"matrix": [0, 10], "x": 170, "y": 0, "flags": 4},
+            {"matrix": [1, 9], "x": 153, "y": 16, "flags": 4},
+            {"matrix": [1, 10], "x": 170, "y": 16, "flags": 4},
+            {"matrix": [0, 13], "x": 221, "y": 0, "flags": 4},
+            {"x": 221, "y": 0, "flags": 4},
+            {"matrix": [1, 13], "x": 221, "y": 32, "flags": 1},
+            {"matrix": [2, 12], "x": 221, "y": 16, "flags": 1},
+            {"matrix": [2, 3], "x": 51, "y": 32, "flags": 4},
+            {"matrix": [2, 4], "x": 68, "y": 32, "flags": 4},
+            {"matrix": [3, 3], "x": 51, "y": 48, "flags": 4},
+            {"matrix": [3, 4], "x": 68, "y": 48, "flags": 4},
+            {"matrix": [0, 6], "x": 102, "y": 0, "flags": 4},
+            {"matrix": [1, 5], "x": 85, "y": 16, "flags": 4},
+            {"matrix": [1, 6], "x": 102, "y": 16, "flags": 4},
+            {"matrix": [2, 5], "x": 85, "y": 32, "flags": 4},
+            {"matrix": [2, 6], "x": 102, "y": 32, "flags": 4},
+            {"matrix": [3, 5], "x": 85, "y": 48, "flags": 4},
+            {"matrix": [3, 6], "x": 102, "y": 48, "flags": 4},
+            {"matrix": [4, 5], "x": 102, "y": 64, "flags": 4},
+            {"matrix": [2, 7], "x": 119, "y": 32, "flags": 4},
+            {"matrix": [2, 8], "x": 136, "y": 32, "flags": 4},
+            {"matrix": [3, 7], "x": 119, "y": 48, "flags": 4},
+            {"matrix": [3, 8], "x": 136, "y": 48, "flags": 4},
+            {"matrix": [2, 9], "x": 153, "y": 32, "flags": 4},
+            {"matrix": [2, 10], "x": 170, "y": 32, "flags": 4},
+            {"matrix": [3, 9], "x": 153, "y": 48, "flags": 4},
+            {"matrix": [4, 6], "x": 136, "y": 48, "flags": 1},
+            {"matrix": [2, 11], "x": 187, "y": 32, "flags": 4},
+            {"matrix": [3, 10], "x": 170, "y": 48, "flags": 4},
+            {"matrix": [3, 11], "x": 187, "y": 48, "flags": 1},
+            {"matrix": [4, 7], "x": 153, "y": 48, "flags": 1},
+            {"matrix": [3, 12], "x": 221, "y": 48, "flags": 1},
+            {"matrix": [4, 9], "x": 221, "y": 64, "flags": 1},
+            {"matrix": [4, 8], "x": 204, "y": 64, "flags": 1},
+            {"matrix": [3, 0], "x": 0, "y": 48, "flags": 1},
+            {"matrix": [4, 0], "x": 0, "y": 64, "flags": 1},
+            {"matrix": [4, 1], "x": 17, "y": 64, "flags": 1},
+            {"matrix": [4, 2], "x": 34, "y": 64, "flags": 1}
+        ]
     },
     "features": {
         "bootmagic": true,

+ 0 - 27
keyboards/feker/ik75/ik75.c

@@ -161,31 +161,4 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
     {1, SW10_CS15, SW12_CS15, SW11_CS15}, // 125, Underglow 39
     {1, SW10_CS16, SW12_CS16, SW11_CS16}, // 126, Underglow 40
 };
-
-led_config_t g_led_config = { {
-    { 79,     80,     81,     82,     83,     84,     85,     86,     87,     88,     89,     90,     91,     92, NO_LED, NO_LED },
-    {  0,      1,      2,      3,      4,      5,      6,      7,      8,      9,     10,     11,     12,     13, NO_LED,    102 },
-    { 16,     17,     18,     19,     20,     21,     22,     23,     24,     25,     26,     27,     28,     29, NO_LED,    105 },
-    { 32,     33,     34,     35,     36,     37,     38,     39,     40,     41,     42,     43, NO_LED,     44,    103,    106 },
-    { 48, NO_LED,     49,     50,     51,     52,     53,     54,     55,     56,     57,     58, NO_LED,     59,     45,    101 },
-    { 93,     94,     14, NO_LED, NO_LED, NO_LED,     15, NO_LED, NO_LED,     30,     31, NO_LED,     47,     60,     61,     62 }
-}, {
-    {0  , 15}, {14 , 15}, {29 , 15}, {43 , 15}, {58 , 15}, {72 , 15}, {87 , 15}, {101, 15}, {116, 15}, {130, 15}, {145, 15}, {159, 15}, {173, 15}, {195, 15}, {38 , 61}, {92 , 61},
-    {4  , 26}, {22 , 26}, {36 , 26}, {51 , 26}, {65 , 26}, {79 , 26}, {94 , 26}, {108, 26}, {123, 26}, {137, 26}, {152, 26}, {166, 26}, {181, 26}, {199, 26}, {173, 61}, {159, 61},
-    {5  , 38}, {25 , 38}, {40 , 38}, {54 , 38}, {69 , 38}, {83 , 38}, {98 , 38}, {112, 38}, {126, 38}, {141, 38}, {155, 38}, {170, 38}, {193, 38}, {206, 52}, {210, 12}, {145, 61},
-    {9  , 49},            {33 , 49}, {47 , 49}, {61 , 49}, {76 , 49}, {90 , 49}, {105, 49}, {119, 49}, {134, 49}, {148, 49}, {163, 49}, {182, 49}, {191, 64}, {206, 64}, {220, 64},
-    {14 ,  0}, {28 ,  0}, {53 ,  0}, {63 ,  0}, {74 ,  0}, {88 ,  0}, {102,  0}, {116,  0}, {130,  0}, {144,  0}, {158,  0}, {172,  0}, {189,  0}, {210,  0}, {224,  0}, {224, 11},
-    {0  ,  0}, {18 ,  0}, {33 ,  0}, {47 ,  0}, {61 ,  0}, {79 ,  0}, {94 ,  0}, {108,  0}, {123,  0}, {141,  0}, {155,  0}, {170,  0}, {184,  0}, {202,  0}, {2  , 61}, {20 , 61},
-    {0  ,  0}, {0  , 11}, {0  , 27}, {0  , 37}, {224,  5}, {210,  5}, {217,  0}, {224, 15}, {224, 38}, {210, 18}, {224, 26}, {224, 49}, {224, 56}, {224, 45}, {224, 35}, {224, 24},
-    {0  , 48}, {0  , 56}, {0  , 64}, {14 , 64}, {28 , 64}, {49 , 64}, {67 , 64}, {84 , 64}, {98 , 64}, {112, 64}, {126, 64}, {140, 64}, {158, 64}, {172, 64}, {196, 64}, {224, 64},
-}, {
-    4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 4,
-    1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
-    8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 8, 1,
-    1,    4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4,
-    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
-    4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
-    2, 2, 2, 2, 1, 1, 4, 4, 4, 8, 4, 4, 2, 2, 2, 2,
-    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
-} };
 #endif

+ 129 - 0
keyboards/feker/ik75/keyboard.json

@@ -55,6 +55,135 @@
             "solid_multisplash": true
         },
         "driver": "is31fl3733",
+        "layout": [
+            {"matrix": [1, 0], "x": 0, "y": 15, "flags": 4},
+            {"matrix": [1, 1], "x": 14, "y": 15, "flags": 4},
+            {"matrix": [1, 2], "x": 29, "y": 15, "flags": 4},
+            {"matrix": [1, 3], "x": 43, "y": 15, "flags": 4},
+            {"matrix": [1, 4], "x": 58, "y": 15, "flags": 4},
+            {"matrix": [1, 5], "x": 72, "y": 15, "flags": 4},
+            {"matrix": [1, 6], "x": 87, "y": 15, "flags": 4},
+            {"matrix": [1, 7], "x": 101, "y": 15, "flags": 4},
+            {"matrix": [1, 8], "x": 116, "y": 15, "flags": 4},
+            {"matrix": [1, 9], "x": 130, "y": 15, "flags": 4},
+            {"matrix": [1, 10], "x": 145, "y": 15, "flags": 4},
+            {"matrix": [1, 11], "x": 159, "y": 15, "flags": 4},
+            {"matrix": [1, 12], "x": 173, "y": 15, "flags": 4},
+            {"matrix": [1, 13], "x": 195, "y": 15, "flags": 1},
+            {"matrix": [5, 2], "x": 38, "y": 61, "flags": 1},
+            {"matrix": [5, 6], "x": 92, "y": 61, "flags": 4},
+            {"matrix": [2, 0], "x": 4, "y": 26, "flags": 1},
+            {"matrix": [2, 1], "x": 22, "y": 26, "flags": 4},
+            {"matrix": [2, 2], "x": 36, "y": 26, "flags": 4},
+            {"matrix": [2, 3], "x": 51, "y": 26, "flags": 4},
+            {"matrix": [2, 4], "x": 65, "y": 26, "flags": 4},
+            {"matrix": [2, 5], "x": 79, "y": 26, "flags": 4},
+            {"matrix": [2, 6], "x": 94, "y": 26, "flags": 4},
+            {"matrix": [2, 7], "x": 108, "y": 26, "flags": 4},
+            {"matrix": [2, 8], "x": 123, "y": 26, "flags": 4},
+            {"matrix": [2, 9], "x": 137, "y": 26, "flags": 4},
+            {"matrix": [2, 10], "x": 152, "y": 26, "flags": 4},
+            {"matrix": [2, 11], "x": 166, "y": 26, "flags": 4},
+            {"matrix": [2, 12], "x": 181, "y": 26, "flags": 4},
+            {"matrix": [2, 13], "x": 199, "y": 26, "flags": 4},
+            {"matrix": [5, 9], "x": 173, "y": 61, "flags": 1},
+            {"matrix": [5, 10], "x": 159, "y": 61, "flags": 1},
+            {"matrix": [3, 0], "x": 5, "y": 38, "flags": 8},
+            {"matrix": [3, 1], "x": 25, "y": 38, "flags": 4},
+            {"matrix": [3, 2], "x": 40, "y": 38, "flags": 4},
+            {"matrix": [3, 3], "x": 54, "y": 38, "flags": 4},
+            {"matrix": [3, 4], "x": 69, "y": 38, "flags": 4},
+            {"matrix": [3, 5], "x": 83, "y": 38, "flags": 4},
+            {"matrix": [3, 6], "x": 98, "y": 38, "flags": 4},
+            {"matrix": [3, 7], "x": 112, "y": 38, "flags": 4},
+            {"matrix": [3, 8], "x": 126, "y": 38, "flags": 4},
+            {"matrix": [3, 9], "x": 141, "y": 38, "flags": 4},
+            {"matrix": [3, 10], "x": 155, "y": 38, "flags": 4},
+            {"matrix": [3, 11], "x": 170, "y": 38, "flags": 4},
+            {"matrix": [3, 13], "x": 193, "y": 38, "flags": 1},
+            {"matrix": [4, 14], "x": 206, "y": 52, "flags": 4},
+            {"x": 210, "y": 12, "flags": 8},
+            {"matrix": [5, 12], "x": 145, "y": 61, "flags": 1},
+            {"matrix": [4, 0], "x": 9, "y": 49, "flags": 1},
+            {"matrix": [4, 2], "x": 33, "y": 49, "flags": 4},
+            {"matrix": [4, 3], "x": 47, "y": 49, "flags": 4},
+            {"matrix": [4, 4], "x": 61, "y": 49, "flags": 4},
+            {"matrix": [4, 5], "x": 76, "y": 49, "flags": 4},
+            {"matrix": [4, 6], "x": 90, "y": 49, "flags": 4},
+            {"matrix": [4, 7], "x": 105, "y": 49, "flags": 4},
+            {"matrix": [4, 8], "x": 119, "y": 49, "flags": 4},
+            {"matrix": [4, 9], "x": 134, "y": 49, "flags": 4},
+            {"matrix": [4, 10], "x": 148, "y": 49, "flags": 4},
+            {"matrix": [4, 11], "x": 163, "y": 49, "flags": 4},
+            {"matrix": [4, 13], "x": 182, "y": 49, "flags": 1},
+            {"matrix": [5, 13], "x": 191, "y": 64, "flags": 4},
+            {"matrix": [5, 14], "x": 206, "y": 64, "flags": 4},
+            {"matrix": [5, 15], "x": 220, "y": 64, "flags": 4},
+            {"x": 14, "y": 0, "flags": 2},
+            {"x": 28, "y": 0, "flags": 2},
+            {"x": 53, "y": 0, "flags": 2},
+            {"x": 63, "y": 0, "flags": 2},
+            {"x": 74, "y": 0, "flags": 2},
+            {"x": 88, "y": 0, "flags": 2},
+            {"x": 102, "y": 0, "flags": 2},
+            {"x": 116, "y": 0, "flags": 2},
+            {"x": 130, "y": 0, "flags": 2},
+            {"x": 144, "y": 0, "flags": 2},
+            {"x": 158, "y": 0, "flags": 2},
+            {"x": 172, "y": 0, "flags": 2},
+            {"x": 189, "y": 0, "flags": 2},
+            {"x": 210, "y": 0, "flags": 2},
+            {"x": 224, "y": 0, "flags": 2},
+            {"x": 224, "y": 11, "flags": 2},
+            {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
+            {"matrix": [0, 1], "x": 18, "y": 0, "flags": 4},
+            {"matrix": [0, 2], "x": 33, "y": 0, "flags": 4},
+            {"matrix": [0, 3], "x": 47, "y": 0, "flags": 4},
+            {"matrix": [0, 4], "x": 61, "y": 0, "flags": 4},
+            {"matrix": [0, 5], "x": 79, "y": 0, "flags": 4},
+            {"matrix": [0, 6], "x": 94, "y": 0, "flags": 4},
+            {"matrix": [0, 7], "x": 108, "y": 0, "flags": 4},
+            {"matrix": [0, 8], "x": 123, "y": 0, "flags": 4},
+            {"matrix": [0, 9], "x": 141, "y": 0, "flags": 4},
+            {"matrix": [0, 10], "x": 155, "y": 0, "flags": 4},
+            {"matrix": [0, 11], "x": 170, "y": 0, "flags": 4},
+            {"matrix": [0, 12], "x": 184, "y": 0, "flags": 4},
+            {"matrix": [0, 13], "x": 202, "y": 0, "flags": 4},
+            {"matrix": [5, 0], "x": 2, "y": 61, "flags": 1},
+            {"matrix": [5, 1], "x": 20, "y": 61, "flags": 1},
+            {"x": 0, "y": 0, "flags": 2},
+            {"x": 0, "y": 11, "flags": 2},
+            {"x": 0, "y": 27, "flags": 2},
+            {"x": 0, "y": 37, "flags": 2},
+            {"x": 224, "y": 5, "flags": 1},
+            {"x": 210, "y": 5, "flags": 1},
+            {"matrix": [4, 15], "x": 217, "y": 0, "flags": 4},
+            {"matrix": [1, 15], "x": 224, "y": 15, "flags": 4},
+            {"matrix": [3, 14], "x": 224, "y": 38, "flags": 4},
+            {"x": 210, "y": 18, "flags": 8},
+            {"matrix": [2, 15], "x": 224, "y": 26, "flags": 4},
+            {"matrix": [3, 15], "x": 224, "y": 49, "flags": 4},
+            {"x": 224, "y": 56, "flags": 2},
+            {"x": 224, "y": 45, "flags": 2},
+            {"x": 224, "y": 35, "flags": 2},
+            {"x": 224, "y": 24, "flags": 2},
+            {"x": 0, "y": 48, "flags": 2},
+            {"x": 0, "y": 56, "flags": 2},
+            {"x": 0, "y": 64, "flags": 2},
+            {"x": 14, "y": 64, "flags": 2},
+            {"x": 28, "y": 64, "flags": 2},
+            {"x": 49, "y": 64, "flags": 2},
+            {"x": 67, "y": 64, "flags": 2},
+            {"x": 84, "y": 64, "flags": 2},
+            {"x": 98, "y": 64, "flags": 2},
+            {"x": 112, "y": 64, "flags": 2},
+            {"x": 126, "y": 64, "flags": 2},
+            {"x": 140, "y": 64, "flags": 2},
+            {"x": 158, "y": 64, "flags": 2},
+            {"x": 172, "y": 64, "flags": 2},
+            {"x": 196, "y": 64, "flags": 2},
+            {"x": 224, "y": 64, "flags": 2}
+        ],
         "max_brightness": 200
     },
     "build": {

+ 50 - 0
keyboards/frooastboard/walnut/keyboard.json

@@ -48,6 +48,56 @@
             "speed": 191
         },
         "driver": "is31fl3737",
+        "layout": [
+            {"x": 0, "y": 62, "flags": 2},
+            {"x": 0, "y": 50, "flags": 2},
+            {"x": 0, "y": 38, "flags": 2},
+            {"x": 0, "y": 26, "flags": 2},
+            {"x": 0, "y": 14, "flags": 2},
+            {"x": 0, "y": 2, "flags": 2},
+            {"x": 0, "y": 2, "flags": 2},
+            {"x": 12, "y": 2, "flags": 2},
+            {"x": 24, "y": 2, "flags": 2},
+            {"x": 36, "y": 2, "flags": 2},
+            {"x": 48, "y": 2, "flags": 2},
+            {"x": 60, "y": 2, "flags": 2},
+            {"x": 72, "y": 2, "flags": 2},
+            {"x": 84, "y": 2, "flags": 2},
+            {"x": 96, "y": 2, "flags": 2},
+            {"x": 108, "y": 2, "flags": 2},
+            {"x": 120, "y": 2, "flags": 2},
+            {"x": 132, "y": 2, "flags": 2},
+            {"x": 144, "y": 2, "flags": 2},
+            {"x": 156, "y": 2, "flags": 2},
+            {"x": 168, "y": 2, "flags": 2},
+            {"x": 180, "y": 2, "flags": 2},
+            {"x": 192, "y": 2, "flags": 2},
+            {"x": 204, "y": 2, "flags": 2},
+            {"x": 204, "y": 2, "flags": 2},
+            {"x": 204, "y": 14, "flags": 2},
+            {"x": 204, "y": 26, "flags": 2},
+            {"x": 204, "y": 38, "flags": 2},
+            {"x": 204, "y": 50, "flags": 2},
+            {"x": 204, "y": 62, "flags": 2},
+            {"x": 204, "y": 62, "flags": 2},
+            {"x": 192, "y": 62, "flags": 2},
+            {"x": 180, "y": 62, "flags": 2},
+            {"x": 168, "y": 62, "flags": 2},
+            {"x": 156, "y": 62, "flags": 2},
+            {"x": 144, "y": 62, "flags": 2},
+            {"x": 132, "y": 62, "flags": 2},
+            {"x": 120, "y": 62, "flags": 2},
+            {"x": 108, "y": 62, "flags": 2},
+            {"x": 96, "y": 62, "flags": 2},
+            {"x": 84, "y": 62, "flags": 2},
+            {"x": 72, "y": 62, "flags": 2},
+            {"x": 60, "y": 62, "flags": 2},
+            {"x": 48, "y": 62, "flags": 2},
+            {"x": 36, "y": 62, "flags": 2},
+            {"x": 24, "y": 62, "flags": 2},
+            {"x": 12, "y": 62, "flags": 2},
+            {"x": 0, "y": 62, "flags": 2}
+        ],
         "max_brightness": 191,
         "sleep": true
     },

+ 0 - 22
keyboards/frooastboard/walnut/walnut.c

@@ -61,26 +61,4 @@ const is31fl3737_led_t PROGMEM g_is31fl3737_leds[IS31FL3737_LED_COUNT] = {
     {0, SW2_CS11,    SW1_CS11,    SW3_CS11},
     {0, SW2_CS12,    SW1_CS12,    SW3_CS12}
 };
-
-led_config_t g_led_config = {
-    {
-        { NO_LED,   NO_LED,   NO_LED,   NO_LED,   NO_LED,   NO_LED,   NO_LED,   NO_LED },
-        { NO_LED,   NO_LED,   NO_LED,   NO_LED,   NO_LED,   NO_LED,   NO_LED,   NO_LED },
-        { NO_LED,   NO_LED,   NO_LED,   NO_LED,   NO_LED,   NO_LED,   NO_LED,   NO_LED },
-        { NO_LED,   NO_LED,   NO_LED,   NO_LED,   NO_LED,   NO_LED,   NO_LED,   NO_LED },
-        { NO_LED,   NO_LED,   NO_LED,   NO_LED,   NO_LED,   NO_LED,   NO_LED,   NO_LED },
-        { NO_LED,   NO_LED,   NO_LED,   NO_LED,   NO_LED,   NO_LED,   NO_LED,   NO_LED },
-        { NO_LED,   NO_LED,   NO_LED,   NO_LED,   NO_LED,   NO_LED,   NO_LED,   NO_LED },
-        { NO_LED,   NO_LED,   NO_LED,   NO_LED,   NO_LED,   NO_LED,   NO_LED,   NO_LED },
-        { NO_LED,   NO_LED,   NO_LED,   NO_LED,   NO_LED,   NO_LED,   NO_LED,   NO_LED }
-    }, {
-        {0, 62},   {0, 50},   {0, 38},   {0, 26},   {0, 14},   {0, 2},
-        {0, 2},    {12, 2},   {24, 2},   {36, 2},   {48, 2},   {60, 2},   {72, 2},   {84, 2},   {96, 2},   {108, 2},  {120, 2},  {132, 2},  {144, 2},  {156, 2},  {168, 2},  {180, 2},  {192, 2},  {204, 2},
-        {204, 2},  {204, 14}, {204, 26}, {204, 38}, {204, 50}, {204, 62},
-        {204, 62}, {192, 62}, {180, 62}, {168, 62}, {156, 62}, {144, 62}, {132, 62}, {120, 62}, {108, 62}, {96, 62},  {84, 62},  {72, 62},  {60, 62},  {48, 62},  {36, 62},  {24, 62},  {12, 62},  {0, 62}
-    }, {
-        2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
-    }
-};
-
 #endif // defined(RGB_MATRIX_ENABLE)