Browse Source

Migrate `g_led_config` to DD (0-9, A) (#25558)

Jack Sangdahl 10 months ago
parent
commit
36fd2437b0

+ 19 - 1
keyboards/1upkeyboards/super16/keyboard.json

@@ -74,7 +74,25 @@
         "solid_splash": true,
         "solid_multisplash": true
     },
-    "driver": "ws2812"
+    "driver": "ws2812",
+    "layout": [
+        {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
+        {"matrix": [0, 1], "x": 75, "y": 0, "flags": 4},
+        {"matrix": [0, 2], "x": 150, "y": 0, "flags": 4},
+        {"matrix": [0, 3], "x": 224, "y": 0, "flags": 4},
+        {"matrix": [1, 3], "x": 224, "y": 21, "flags": 4},
+        {"matrix": [1, 2], "x": 150, "y": 21, "flags": 4},
+        {"matrix": [1, 1], "x": 75, "y": 21, "flags": 4},
+        {"matrix": [1, 0], "x": 0, "y": 21, "flags": 4},
+        {"matrix": [2, 0], "x": 0, "y": 43, "flags": 4},
+        {"matrix": [2, 1], "x": 75, "y": 43, "flags": 4},
+        {"matrix": [2, 2], "x": 150, "y": 43, "flags": 4},
+        {"matrix": [2, 3], "x": 224, "y": 43, "flags": 4},
+        {"matrix": [3, 3], "x": 224, "y": 64, "flags": 4},
+        {"matrix": [3, 2], "x": 150, "y": 64, "flags": 4},
+        {"matrix": [3, 1], "x": 75, "y": 64, "flags": 4},
+        {"matrix": [3, 0], "x": 0, "y": 64, "flags": 4}
+    ]
   },
   "features": {
     "bootmagic": true,

+ 0 - 39
keyboards/1upkeyboards/super16/super16.c

@@ -1,39 +0,0 @@
-/* Copyright 2019 MechMerlin
- *
- * 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
-led_config_t g_led_config = { {
-  // Key Matrix to LED Index
-  {   0,  1,  2,  3 },
-  {   7,  6,  5,  4 },
-  {   8,  9, 10, 11 },
-  {  15, 14, 13, 12 }
-}, {
-  // LED Index to Physical Position
-  { 0,  0 }, { 75,  0 }, { 150,  0 }, { 224,  0 },
-  { 224,  21 }, { 150,  21 }, { 75,  21 }, { 0,  21 },
-  { 0,  43 }, { 75,  43 }, { 150,  43 }, { 224,  43 },
-  { 224,  64 }, { 150,  64 }, { 75,  64 }, { 0,  64 },
-
-}, {
-  // LED Index to Flag
-  4, 4, 4, 4,
-  4, 4, 4, 4,
-  4, 4, 4, 4,
-  4, 4, 4, 4
-} };
-#endif

+ 22 - 0
keyboards/1upkeyboards/super16v2/keyboard.json

@@ -46,6 +46,28 @@
             "splash": true
       },
       "driver": "ws2812",
+      "layout": [
+          {"matrix": [0, 3], "x": 28, "y": 12, "flags": 4},
+          {"matrix": [0, 2], "x": 84, "y": 12, "flags": 4},
+          {"matrix": [0, 1], "x": 140, "y": 12, "flags": 4},
+          {"matrix": [0, 0], "x": 196, "y": 12, "flags": 4},
+          {"matrix": [1, 3], "x": 28, "y": 28, "flags": 4},
+          {"matrix": [1, 2], "x": 84, "y": 28, "flags": 4},
+          {"matrix": [1, 1], "x": 140, "y": 28, "flags": 4},
+          {"matrix": [1, 0], "x": 196, "y": 28, "flags": 4},
+          {"matrix": [2, 3], "x": 28, "y": 44, "flags": 4},
+          {"matrix": [2, 2], "x": 84, "y": 44, "flags": 4},
+          {"matrix": [2, 1], "x": 140, "y": 44, "flags": 4},
+          {"matrix": [2, 0], "x": 196, "y": 44, "flags": 4},
+          {"matrix": [3, 3], "x": 28, "y": 60, "flags": 4},
+          {"matrix": [3, 2], "x": 84, "y": 60, "flags": 4},
+          {"matrix": [3, 1], "x": 140, "y": 60, "flags": 4},
+          {"matrix": [3, 0], "x": 196, "y": 60, "flags": 4},
+          {"x": 168, "y": 48, "flags": 2},
+          {"x": 168, "y": 16, "flags": 2},
+          {"x": 58, "y": 16, "flags": 2},
+          {"x": 56, "y": 48, "flags": 2}
+      ],
       "sleep": true
     },
     "features": {

+ 0 - 41
keyboards/1upkeyboards/super16v2/super16v2.c

@@ -1,41 +0,0 @@
-/* Copyright 2022 MechMerlin
- *
- * 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
-led_config_t g_led_config = { {
-    // Key Matrix to LED Index
-    { 3, 2, 1, 0 },
-    { 7, 6, 5, 4 },
-    { 11, 10, 9, 8 },
-    { 15, 14, 13, 12 }
-}, {
-    // LED Index to Physical Position
-    { 28, 12 }, { 84, 12 }, { 140, 12 }, { 196, 12 },
-    { 28, 28 }, { 84, 28 }, { 140, 28 }, { 196, 28 },
-    { 28, 44 }, { 84, 44 }, { 140, 44 }, { 196, 44 },
-    { 28, 60 }, { 84, 60 }, { 140, 60 }, { 196, 60 },
-    { 168, 48 }, { 168, 16 }, { 58, 16 }, { 56, 48 }
-}, {
-    // LED Index to Flag
-    4, 4, 4, 4,
-    4, 4, 4, 4,
-    4, 4, 4, 4,
-    4, 4, 4, 4,
-    2, 2, 2, 2,
-} };
-#endif

+ 65 - 1
keyboards/4pplet/perk60_iso/rev_a/keyboard.json

@@ -37,7 +37,71 @@
         "default": {
             "val": 80
         },
-        "driver": "is31fl3733"
+        "driver": "is31fl3733",
+        "layout": [
+            {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
+            {"matrix": [1, 0], "x": 16, "y": 0, "flags": 4},
+            {"matrix": [0, 1], "x": 32, "y": 0, "flags": 4},
+            {"matrix": [1, 1], "x": 48, "y": 0, "flags": 4},
+            {"matrix": [0, 2], "x": 65, "y": 0, "flags": 4},
+            {"matrix": [1, 2], "x": 81, "y": 0, "flags": 4},
+            {"matrix": [0, 3], "x": 97, "y": 0, "flags": 4},
+            {"matrix": [1, 3], "x": 113, "y": 0, "flags": 4},
+            {"matrix": [0, 4], "x": 129, "y": 0, "flags": 4},
+            {"matrix": [1, 4], "x": 145, "y": 0, "flags": 4},
+            {"matrix": [0, 5], "x": 161, "y": 0, "flags": 4},
+            {"matrix": [1, 5], "x": 178, "y": 0, "flags": 4},
+            {"matrix": [0, 6], "x": 194, "y": 0, "flags": 4},
+            {"matrix": [3, 6], "x": 218, "y": 0, "flags": 1},
+            {"matrix": [2, 0], "x": 4, "y": 16, "flags": 1},
+            {"matrix": [3, 0], "x": 24, "y": 16, "flags": 4},
+            {"matrix": [2, 1], "x": 40, "y": 16, "flags": 4},
+            {"matrix": [3, 1], "x": 57, "y": 16, "flags": 4},
+            {"matrix": [2, 2], "x": 73, "y": 16, "flags": 4},
+            {"matrix": [3, 2], "x": 89, "y": 16, "flags": 4},
+            {"matrix": [2, 3], "x": 105, "y": 16, "flags": 4},
+            {"matrix": [3, 3], "x": 121, "y": 16, "flags": 4},
+            {"matrix": [2, 4], "x": 137, "y": 16, "flags": 4},
+            {"matrix": [3, 4], "x": 153, "y": 16, "flags": 4},
+            {"matrix": [2, 5], "x": 170, "y": 16, "flags": 4},
+            {"matrix": [3, 5], "x": 186, "y": 16, "flags": 4},
+            {"matrix": [2, 6], "x": 202, "y": 16, "flags": 4},
+            {"matrix": [7, 6], "x": 224, "y": 24, "flags": 1},
+            {"matrix": [4, 0], "x": 6, "y": 32, "flags": 8},
+            {"matrix": [5, 0], "x": 28, "y": 32, "flags": 4},
+            {"matrix": [4, 1], "x": 44, "y": 32, "flags": 4},
+            {"matrix": [5, 1], "x": 61, "y": 32, "flags": 4},
+            {"matrix": [4, 2], "x": 77, "y": 32, "flags": 4},
+            {"matrix": [5, 2], "x": 93, "y": 32, "flags": 4},
+            {"matrix": [4, 3], "x": 109, "y": 32, "flags": 4},
+            {"matrix": [5, 3], "x": 125, "y": 32, "flags": 4},
+            {"matrix": [4, 4], "x": 141, "y": 32, "flags": 4},
+            {"matrix": [5, 4], "x": 157, "y": 32, "flags": 4},
+            {"matrix": [4, 5], "x": 174, "y": 32, "flags": 4},
+            {"matrix": [5, 5], "x": 190, "y": 32, "flags": 4},
+            {"matrix": [4, 6], "x": 206, "y": 32, "flags": 1},
+            {"matrix": [6, 0], "x": 2, "y": 48, "flags": 1},
+            {"matrix": [7, 0], "x": 20, "y": 48, "flags": 4},
+            {"matrix": [6, 1], "x": 36, "y": 48, "flags": 4},
+            {"matrix": [7, 1], "x": 52, "y": 48, "flags": 4},
+            {"matrix": [6, 2], "x": 69, "y": 48, "flags": 4},
+            {"matrix": [7, 2], "x": 85, "y": 48, "flags": 4},
+            {"matrix": [6, 3], "x": 101, "y": 48, "flags": 4},
+            {"matrix": [7, 3], "x": 117, "y": 48, "flags": 4},
+            {"matrix": [6, 4], "x": 133, "y": 48, "flags": 4},
+            {"matrix": [7, 4], "x": 149, "y": 48, "flags": 4},
+            {"matrix": [6, 5], "x": 165, "y": 48, "flags": 4},
+            {"matrix": [7, 5], "x": 182, "y": 48, "flags": 4},
+            {"matrix": [8, 6], "x": 212, "y": 48, "flags": 1},
+            {"matrix": [8, 0], "x": 2, "y": 64, "flags": 1},
+            {"matrix": [8, 1], "x": 22, "y": 64, "flags": 1},
+            {"matrix": [9, 0], "x": 42, "y": 64, "flags": 1},
+            {"matrix": [8, 3], "x": 103, "y": 64, "flags": 4},
+            {"matrix": [9, 3], "x": 163, "y": 64, "flags": 1},
+            {"matrix": [9, 4], "x": 184, "y": 64, "flags": 1},
+            {"matrix": [8, 5], "x": 204, "y": 64, "flags": 1},
+            {"matrix": [9, 5], "x": 224, "y": 64, "flags": 1}
+        ]
     },
     "features": {
         "bootmagic": true,

+ 62 - 93
keyboards/4pplet/perk60_iso/rev_a/rev_a.c

@@ -31,99 +31,68 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #ifdef RGB_MATRIX_ENABLE
 const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
-    { 0, SW11_CS2,  SW10_CS2,  SW12_CS2 }, //D402
-    { 0, SW11_CS3,  SW10_CS3,  SW12_CS3 }, //D403
-    { 0, SW11_CS4,  SW10_CS4,  SW12_CS4 }, //D404
-    { 0, SW11_CS5,  SW10_CS5,  SW12_CS5 }, //D405
-    { 0, SW11_CS6,  SW10_CS6,  SW12_CS6 }, //D406
-    { 0, SW11_CS7,  SW10_CS7,  SW12_CS7 }, //D407
-    { 0, SW11_CS8,  SW10_CS8,  SW12_CS8 }, //D408
-    { 0, SW11_CS9,  SW10_CS9,  SW12_CS9 }, //D409
-    { 0, SW11_CS10, SW10_CS10, SW12_CS10 }, //D410
-    { 0, SW11_CS11, SW10_CS11, SW12_CS11 }, //D411
-    { 0, SW11_CS12, SW10_CS12, SW12_CS12 }, //D412
-    { 0, SW11_CS13, SW10_CS13, SW12_CS13 }, //D413
-    { 0, SW11_CS14, SW10_CS14, SW12_CS14 }, //D414
-    { 0, SW11_CS15, SW10_CS15, SW12_CS15 }, //D415
-    { 0, SW11_CS1,  SW10_CS1,  SW12_CS1 }, //D401
-    { 0, SW8_CS4,  SW7_CS4,  SW9_CS4 }, //D420
-    { 0, SW8_CS5,  SW7_CS5,  SW9_CS5 }, //D421
-    { 0, SW8_CS6,  SW7_CS6,  SW9_CS6 }, //D422
-    { 0, SW8_CS7,  SW7_CS7,  SW9_CS7 }, //D423
-    { 0, SW8_CS8,  SW7_CS8,  SW9_CS8 }, //D424
-    { 0, SW8_CS9,  SW7_CS9,  SW9_CS9 }, //D425
-    { 0, SW8_CS10, SW7_CS10, SW9_CS10 }, //D426
-    { 0, SW8_CS11, SW7_CS11, SW9_CS11 }, //D427
-    { 0, SW8_CS12, SW7_CS12, SW9_CS12 }, //D428
-    { 0, SW8_CS13, SW7_CS13, SW9_CS13 }, //D429
-    { 0, SW8_CS14, SW7_CS14, SW9_CS14 }, //D430
-    { 0, SW8_CS15, SW7_CS15, SW9_CS15 }, //D431
-    { 0, SW11_CS16, SW10_CS16, SW12_CS16 }, //D416
-    { 0, SW8_CS2,  SW7_CS2,  SW9_CS2 }, //D418
-    { 0, SW8_CS3,  SW7_CS3,  SW9_CS3 }, //D419
-    { 0, SW5_CS5,  SW4_CS5,  SW6_CS5 }, //D437
-    { 0, SW5_CS6,  SW4_CS6,  SW6_CS6 }, //D438
-    { 0, SW5_CS7,  SW4_CS7,  SW6_CS7 }, //D439
-    { 0, SW5_CS8,  SW4_CS8,  SW6_CS8 }, //D440
-    { 0, SW5_CS9,  SW4_CS9,  SW6_CS9 }, //D441
-    { 0, SW5_CS10, SW4_CS10, SW6_CS10 }, //D442
-    { 0, SW5_CS11, SW4_CS11, SW6_CS11 }, //D443
-    { 0, SW5_CS12, SW4_CS12, SW6_CS12 }, //D444
-    { 0, SW5_CS13, SW4_CS13, SW6_CS13 }, //D445
-    { 0, SW5_CS14, SW4_CS14, SW6_CS14 }, //D446
-    { 0, SW8_CS16, SW7_CS16, SW9_CS16 }, //D432
-    { 0, SW8_CS1,  SW7_CS1,  SW9_CS1 }, //D417
-    { 0, SW5_CS3,  SW4_CS3,  SW6_CS3 }, //D435
-    { 0, SW5_CS4,  SW4_CS4,  SW6_CS4 }, //D436
-    { 0, SW2_CS2,  SW1_CS2,  SW3_CS2 }, //D450
-    { 0, SW2_CS3,  SW1_CS3,  SW3_CS3 }, //D451
-    { 0, SW2_CS4,  SW1_CS4,  SW3_CS4 }, //D452
-    { 0, SW2_CS6,  SW1_CS6,  SW3_CS6 }, //D454
-    { 0, SW2_CS8,  SW1_CS8,  SW3_CS8 }, //D456
-    { 0, SW2_CS9,  SW1_CS9,  SW3_CS9 }, //D457
-    { 0, SW2_CS10, SW1_CS10, SW3_CS10 }, //D458
-    { 0, SW2_CS12, SW1_CS12, SW3_CS12 }, //D460
-    { 0, SW2_CS13, SW1_CS13, SW3_CS13 }, //D461
-    { 0, SW5_CS15, SW4_CS15, SW6_CS15 }, //D447
-    { 0, SW5_CS1,  SW4_CS1,  SW6_CS1 }, //D433
-    { 0, SW5_CS2,  SW4_CS2,  SW6_CS2 }, //D434
-    { 0, SW2_CS1,  SW1_CS1,  SW3_CS1 }, //D449
-    { 0, SW2_CS7,  SW1_CS7,  SW3_CS7 }, //D455
-    { 0, SW2_CS11, SW1_CS11, SW3_CS11 }, //D459
-    { 0, SW2_CS14, SW1_CS14, SW3_CS14 }, //D462
-    { 0, SW2_CS15,  SW1_CS15,  SW3_CS15 }, //D463
-    { 0, SW2_CS16,  SW1_CS16,  SW3_CS16 } //D464
-};
-
-#define XXX NO_LED
-led_config_t g_led_config = {
-    {
-    {   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
-    }
+    {0, SW11_CS2, SW10_CS2, SW12_CS2},    // D402
+    {0, SW11_CS3, SW10_CS3, SW12_CS3},    // D403
+    {0, SW11_CS4, SW10_CS4, SW12_CS4},    // D404
+    {0, SW11_CS5, SW10_CS5, SW12_CS5},    // D405
+    {0, SW11_CS6, SW10_CS6, SW12_CS6},    // D406
+    {0, SW11_CS7, SW10_CS7, SW12_CS7},    // D407
+    {0, SW11_CS8, SW10_CS8, SW12_CS8},    // D408
+    {0, SW11_CS9, SW10_CS9, SW12_CS9},    // D409
+    {0, SW11_CS10, SW10_CS10, SW12_CS10}, // D410
+    {0, SW11_CS11, SW10_CS11, SW12_CS11}, // D411
+    {0, SW11_CS12, SW10_CS12, SW12_CS12}, // D412
+    {0, SW11_CS13, SW10_CS13, SW12_CS13}, // D413
+    {0, SW11_CS14, SW10_CS14, SW12_CS14}, // D414
+    {0, SW11_CS15, SW10_CS15, SW12_CS15}, // D415
+    {0, SW11_CS1, SW10_CS1, SW12_CS1},    // D401
+    {0, SW8_CS4, SW7_CS4, SW9_CS4},       // D420
+    {0, SW8_CS5, SW7_CS5, SW9_CS5},       // D421
+    {0, SW8_CS6, SW7_CS6, SW9_CS6},       // D422
+    {0, SW8_CS7, SW7_CS7, SW9_CS7},       // D423
+    {0, SW8_CS8, SW7_CS8, SW9_CS8},       // D424
+    {0, SW8_CS9, SW7_CS9, SW9_CS9},       // D425
+    {0, SW8_CS10, SW7_CS10, SW9_CS10},    // D426
+    {0, SW8_CS11, SW7_CS11, SW9_CS11},    // D427
+    {0, SW8_CS12, SW7_CS12, SW9_CS12},    // D428
+    {0, SW8_CS13, SW7_CS13, SW9_CS13},    // D429
+    {0, SW8_CS14, SW7_CS14, SW9_CS14},    // D430
+    {0, SW8_CS15, SW7_CS15, SW9_CS15},    // D431
+    {0, SW11_CS16, SW10_CS16, SW12_CS16}, // D416
+    {0, SW8_CS2, SW7_CS2, SW9_CS2},       // D418
+    {0, SW8_CS3, SW7_CS3, SW9_CS3},       // D419
+    {0, SW5_CS5, SW4_CS5, SW6_CS5},       // D437
+    {0, SW5_CS6, SW4_CS6, SW6_CS6},       // D438
+    {0, SW5_CS7, SW4_CS7, SW6_CS7},       // D439
+    {0, SW5_CS8, SW4_CS8, SW6_CS8},       // D440
+    {0, SW5_CS9, SW4_CS9, SW6_CS9},       // D441
+    {0, SW5_CS10, SW4_CS10, SW6_CS10},    // D442
+    {0, SW5_CS11, SW4_CS11, SW6_CS11},    // D443
+    {0, SW5_CS12, SW4_CS12, SW6_CS12},    // D444
+    {0, SW5_CS13, SW4_CS13, SW6_CS13},    // D445
+    {0, SW5_CS14, SW4_CS14, SW6_CS14},    // D446
+    {0, SW8_CS16, SW7_CS16, SW9_CS16},    // D432
+    {0, SW8_CS1, SW7_CS1, SW9_CS1},       // D417
+    {0, SW5_CS3, SW4_CS3, SW6_CS3},       // D435
+    {0, SW5_CS4, SW4_CS4, SW6_CS4},       // D436
+    {0, SW2_CS2, SW1_CS2, SW3_CS2},       // D450
+    {0, SW2_CS3, SW1_CS3, SW3_CS3},       // D451
+    {0, SW2_CS4, SW1_CS4, SW3_CS4},       // D452
+    {0, SW2_CS6, SW1_CS6, SW3_CS6},       // D454
+    {0, SW2_CS8, SW1_CS8, SW3_CS8},       // D456
+    {0, SW2_CS9, SW1_CS9, SW3_CS9},       // D457
+    {0, SW2_CS10, SW1_CS10, SW3_CS10},    // D458
+    {0, SW2_CS12, SW1_CS12, SW3_CS12},    // D460
+    {0, SW2_CS13, SW1_CS13, SW3_CS13},    // D461
+    {0, SW5_CS15, SW4_CS15, SW6_CS15},    // D447
+    {0, SW5_CS1, SW4_CS1, SW6_CS1},       // D433
+    {0, SW5_CS2, SW4_CS2, SW6_CS2},       // D434
+    {0, SW2_CS1, SW1_CS1, SW3_CS1},       // D449
+    {0, SW2_CS7, SW1_CS7, SW3_CS7},       // D455
+    {0, SW2_CS11, SW1_CS11, SW3_CS11},    // D459
+    {0, SW2_CS14, SW1_CS14, SW3_CS14},    // D462
+    {0, SW2_CS15, SW1_CS15, SW3_CS15},    // D463
+    {0, SW2_CS16, SW1_CS16, SW3_CS16}     // D464
 };
 
 bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {

+ 0 - 38
keyboards/acheron/apollo/87h/delta/delta.c

@@ -21,41 +21,3 @@ void board_init(void) {
     gpio_set_pin_input(B9);
     gpio_set_pin_input(B10);
 }
-
-led_config_t g_led_config = { {
-//	{ 0        , 1          , 2          , 3          , 4          , 5          , 6          , 7          , 8          , 9          , 10         , 11         , 12         , NO_LED     , 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         , NO_LED     , NO_LED     , NO_LED     , NO_LED    },
-//	{ 63       , NO_LED     , 64         , 65         , 66         , 67         , 68         , 69         , 70         , 71         , 72         , 73         , 74         , NO_LED     , NO_LED     , 75         , NO_LED    },
-//	{ 76       , 77         , 78         , NO_LED     , NO_LED     , NO_LED     , 79         , NO_LED     , NO_LED     , 80         , 81         , 82         , 83         , NO_LED     , 84         , 85         , 86        }
-//
-	{ 15       , 14         , 13         , 12         , 11         , 10         , 9          , 8          , 7          , 6          , 5          , 4          , 3          , NO_LED     , 2          , 1          , 0         },
-	{ 16       , 17         , 18         , 19         , 20         , 21         , 22         , 23         , 24         , 25         , 26         , 27         , 28         , 29         , 30         , 31         , 32        },
-	{ 49       , 48         , 47         , 46         , 45         , 44         , 43         , 42         , 41         , 40         , 39         , 38         , 37         , 36         , 35         , 34         , 33         },
-	{ 50       , 51         , 52         , 53         , 54         , 55         , 56         , 57         , 58         , 59         , 60         , 61         , 62         , NO_LED     , NO_LED     , NO_LED     , NO_LED    },
-	{ 75       , NO_LED     , 74         , 73         , 72         , 71         , 70         , 69         , 68         , 67         , 66         , 65         , 64         , NO_LED     , NO_LED     , 63         , NO_LED    },
-	{ 76       , 77         , 78         , NO_LED     , NO_LED     , NO_LED     , 79         , NO_LED     , NO_LED     , 80         , 81         , 82         , 83         , NO_LED     , 84         , 85         , 86        }
-},{
-// "Fine-tuned" complex configuration
-	{ 210,   0}, { 196,   0}, { 182,   0}, { 168,   0}, { 154,   0}, { 140,   0}, { 140,   0}, { 126,   0}, { 112,   0}, {  98,   0}, {  84,   0}, {  70,   0}, {  56,   0},              {  28,   0}, {  14,   0}, {   0,   0},
-	{   0,  45}, {  14,  45}, {  28,  45}, {  42,  45}, {  56,  45}, {  70,  45}, {  84,  45}, {  98,  45}, { 112,  45}, { 126,  45}, { 140,  45}, { 154,  45}, { 168,  45}, { 182,  45}, { 196,  45}, { 210,  45}, { 224,  45},
-	{ 224,  90}, { 210,  90}, { 196,  90}, { 182,  90}, { 168,  90}, { 154,  90}, { 140,  90}, { 126,  90}, { 112,  90}, {  98,  90}, {  84,  90}, {  70,  90}, {  56,  90}, {  42,  90}, {  28,  90}, {  14,  90}, {   0,  90},
-	{   0, 135}, {  14, 135}, {  28, 135}, {  42, 135}, {  56, 135}, {  70, 135}, {  84, 135}, {  98, 135}, { 112, 135}, { 126, 135}, { 140, 135}, { 154, 135}, { 168, 135},
-	{ 192, 180},              { 168, 180}, { 154, 180}, { 140, 180}, { 126, 180}, { 112, 180}, {  98, 180}, {  84, 180}, {  70, 180}, {  56, 180}, {  42, 180}, {  28, 180},                           {  14, 180},
-	{   0, 225}, {  14, 225}, {  28, 225},                                        {  84, 225},                           { 126, 225}, { 140, 225}, { 154, 225}, { 168, 225},              { 196,  45}, { 210,  45}, { 224,  90}
-// "Stock" simple configuration
-//	{ 224,   0}, { 210,   0}, { 196,   0}, { 182,   0}, { 168,   0}, { 154,   0}, { 140,   0}, { 126,   0}, { 112,   0}, {  98,   0}, {  84,   0}, {  70,   0}, {  56,   0},              {  28,   0}, {  14,   0}, {   0,   0},
-//	{   0,  45}, {  14,  45}, {  28,  45}, {  42,  45}, {  56,  45}, {  70,  45}, {  84,  45}, {  98,  45}, { 112,  45}, { 126,  45}, { 140,  45}, { 154,  45}, { 168,  45}, { 182,  45}, { 196,  45}, { 210,  45}, { 224,  45},
-//	{ 224,  90}, { 210,  90}, { 196,  90}, { 182,  90}, { 168,  90}, { 154,  90}, { 140,  90}, { 126,  90}, { 112,  90}, {  98,  90}, {  84,  90}, {  70,  90}, {  56,  90}, {  42,  90}, {  28,  90}, {  14,  90}, {   0,  90},
-//	{   0, 135}, {  14, 135}, {  28, 135}, {  42, 135}, {  56, 135}, {  70, 135}, {  84, 135}, {  98, 135}, { 112, 135}, { 126, 135}, { 140, 135}, { 154, 135}, { 168, 135},
-//	{ 224, 180},              { 196, 180}, { 182, 180}, { 168, 180}, { 154, 180}, { 140, 180}, { 126, 180}, { 112, 180}, {  98, 180}, {  84, 180}, {  70, 180}, {  56, 180},                           {  14, 180},
-//	{   0, 225}, {  14, 225}, {  28, 225},                                        {  84, 225},                           { 126, 225}, { 140, 225}, { 154, 225}, { 168, 225},              { 196,  45}, { 210,  45}, { 224,  90}
-}, {
-	1          , 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          , 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          , 4          , 1          ,
-	1                       , 4          , 4          , 4          , 4          , 4          , 4          , 4          , 4          , 4          , 4          , 1                                    , 1          ,
-	1          , 1          , 1          ,                                        4          ,                           1          , 1          , 1          , 1                       , 1          , 1          , 1          
-} };

+ 89 - 0
keyboards/acheron/apollo/87h/delta/keyboard.json

@@ -57,6 +57,95 @@
             "val": 60
         },
         "driver": "ws2812",
+        "layout": [
+            {"matrix": [0, 16], "x": 224, "y": 0, "flags": 1},
+            {"matrix": [0, 15], "x": 210, "y": 0, "flags": 4},
+            {"matrix": [0, 14], "x": 196, "y": 0, "flags": 4},
+            {"matrix": [0, 12], "x": 182, "y": 0, "flags": 4},
+            {"matrix": [0, 11], "x": 168, "y": 0, "flags": 4},
+            {"matrix": [0, 10], "x": 154, "y": 0, "flags": 4},
+            {"matrix": [0, 9], "x": 140, "y": 0, "flags": 4},
+            {"matrix": [0, 8], "x": 126, "y": 0, "flags": 4},
+            {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4},
+            {"matrix": [0, 6], "x": 98, "y": 0, "flags": 4},
+            {"matrix": [0, 5], "x": 84, "y": 0, "flags": 4},
+            {"matrix": [0, 4], "x": 70, "y": 0, "flags": 4},
+            {"matrix": [0, 3], "x": 56, "y": 0, "flags": 4},
+            {"matrix": [0, 2], "x": 28, "y": 0, "flags": 4},
+            {"matrix": [0, 1], "x": 14, "y": 0, "flags": 4},
+            {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
+            {"matrix": [1, 0], "x": 0, "y": 12, "flags": 4},
+            {"matrix": [1, 1], "x": 14, "y": 12, "flags": 4},
+            {"matrix": [1, 2], "x": 28, "y": 12, "flags": 4},
+            {"matrix": [1, 3], "x": 42, "y": 12, "flags": 4},
+            {"matrix": [1, 4], "x": 56, "y": 12, "flags": 4},
+            {"matrix": [1, 5], "x": 70, "y": 12, "flags": 4},
+            {"matrix": [1, 6], "x": 84, "y": 12, "flags": 4},
+            {"matrix": [1, 7], "x": 98, "y": 12, "flags": 4},
+            {"matrix": [1, 8], "x": 112, "y": 12, "flags": 4},
+            {"matrix": [1, 9], "x": 126, "y": 12, "flags": 4},
+            {"matrix": [1, 10], "x": 140, "y": 12, "flags": 4},
+            {"matrix": [1, 11], "x": 154, "y": 12, "flags": 4},
+            {"matrix": [1, 12], "x": 168, "y": 12, "flags": 4},
+            {"matrix": [1, 13], "x": 182, "y": 12, "flags": 4},
+            {"matrix": [1, 14], "x": 196, "y": 12, "flags": 4},
+            {"matrix": [1, 15], "x": 210, "y": 12, "flags": 4},
+            {"matrix": [1, 16], "x": 224, "y": 12, "flags": 4},
+            {"matrix": [2, 16], "x": 224, "y": 25, "flags": 4},
+            {"matrix": [2, 15], "x": 210, "y": 25, "flags": 4},
+            {"matrix": [2, 14], "x": 196, "y": 25, "flags": 4},
+            {"matrix": [2, 13], "x": 182, "y": 25, "flags": 4},
+            {"matrix": [2, 12], "x": 168, "y": 25, "flags": 4},
+            {"matrix": [2, 11], "x": 154, "y": 25, "flags": 4},
+            {"matrix": [2, 10], "x": 140, "y": 25, "flags": 4},
+            {"matrix": [2, 9], "x": 126, "y": 25, "flags": 4},
+            {"matrix": [2, 8], "x": 112, "y": 25, "flags": 4},
+            {"matrix": [2, 7], "x": 98, "y": 25, "flags": 4},
+            {"matrix": [2, 6], "x": 84, "y": 25, "flags": 4},
+            {"matrix": [2, 5], "x": 70, "y": 25, "flags": 4},
+            {"matrix": [2, 4], "x": 56, "y": 25, "flags": 4},
+            {"matrix": [2, 3], "x": 42, "y": 25, "flags": 4},
+            {"matrix": [2, 2], "x": 28, "y": 25, "flags": 4},
+            {"matrix": [2, 1], "x": 14, "y": 25, "flags": 4},
+            {"matrix": [2, 0], "x": 0, "y": 25, "flags": 4},
+            {"matrix": [3, 0], "x": 0, "y": 38, "flags": 4},
+            {"matrix": [3, 1], "x": 14, "y": 38, "flags": 4},
+            {"matrix": [3, 2], "x": 28, "y": 38, "flags": 4},
+            {"matrix": [3, 3], "x": 42, "y": 38, "flags": 4},
+            {"matrix": [3, 4], "x": 56, "y": 38, "flags": 4},
+            {"matrix": [3, 5], "x": 70, "y": 38, "flags": 4},
+            {"matrix": [3, 6], "x": 84, "y": 38, "flags": 4},
+            {"matrix": [3, 7], "x": 98, "y": 38, "flags": 4},
+            {"matrix": [3, 8], "x": 112, "y": 38, "flags": 4},
+            {"matrix": [3, 9], "x": 126, "y": 38, "flags": 4},
+            {"matrix": [3, 10], "x": 140, "y": 38, "flags": 4},
+            {"matrix": [3, 11], "x": 154, "y": 38, "flags": 4},
+            {"matrix": [3, 12], "x": 168, "y": 38, "flags": 1},
+            {"matrix": [4, 15], "x": 210, "y": 51, "flags": 1},
+            {"matrix": [4, 12], "x": 168, "y": 51, "flags": 4},
+            {"matrix": [4, 11], "x": 154, "y": 51, "flags": 4},
+            {"matrix": [4, 10], "x": 140, "y": 51, "flags": 4},
+            {"matrix": [4, 9], "x": 126, "y": 51, "flags": 4},
+            {"matrix": [4, 8], "x": 112, "y": 51, "flags": 4},
+            {"matrix": [4, 7], "x": 98, "y": 51, "flags": 4},
+            {"matrix": [4, 6], "x": 84, "y": 51, "flags": 4},
+            {"matrix": [4, 5], "x": 70, "y": 51, "flags": 4},
+            {"matrix": [4, 4], "x": 56, "y": 51, "flags": 4},
+            {"matrix": [4, 3], "x": 42, "y": 51, "flags": 4},
+            {"matrix": [4, 2], "x": 28, "y": 51, "flags": 1},
+            {"matrix": [4, 0], "x": 14, "y": 51, "flags": 1},
+            {"matrix": [5, 0], "x": 0, "y": 64, "flags": 1},
+            {"matrix": [5, 1], "x": 14, "y": 64, "flags": 1},
+            {"matrix": [5, 2], "x": 28, "y": 64, "flags": 1},
+            {"matrix": [5, 6], "x": 84, "y": 64, "flags": 4},
+            {"matrix": [5, 9], "x": 126, "y": 64, "flags": 1},
+            {"matrix": [5, 10], "x": 140, "y": 64, "flags": 1},
+            {"matrix": [5, 11], "x": 154, "y": 64, "flags": 1},
+            {"matrix": [5, 12], "x": 168, "y": 64, "flags": 1},
+            {"matrix": [5, 14], "x": 196, "y": 64, "flags": 1},
+            {"matrix": [5, 15], "x": 210, "y": 64, "flags": 1},
+            {"matrix": [5, 16], "x": 224, "y": 64, "flags": 1}
+        ],
         "sleep": true
     },
     "features": {

+ 0 - 23
keyboards/acheron/apollo/87h/gamma/gamma.c

@@ -120,27 +120,4 @@ const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
     {0, SW3_CS24, SW3_CS23, SW3_CS22  }, //RIGHT 86
 
 };
-
-led_config_t g_led_config = { {
-    { 0        , 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        },
-    { 33       , 34         , 35         , 36         , 37         , 38         , 39         , 40         , 41         , 41         , 43         , 44         , 45         , 46         , 47         , 48        },
-    { 50       , 51         , 52         , 53         , 54         , 55         , 56         , 57         , 58         , 59         , 60         , 61         , 62         , NO_LED     , NO_LED     , NO_LED    },
-    { 63       , NO_LED     , 64         , 65         , 66         , 67         , 68         , 69         , 70         , 71         , 72         , 73         , 74         , 75         , 49         , 32        },
-    { 76       , 77         , 78         , NO_LED     , NO_LED     , NO_LED     , 79         , NO_LED     , NO_LED     , 80         , 81         , 82         , 83         , 84         , 85         , 86        }
-},{
-    {   0,   0}, {  15,   0}, {  30,   0}, {  45,   0}, {  60,   0}, {  75,   0}, {  90,   0}, { 105,   0}, { 120,   0}, { 135,   0}, { 150,   0}, { 165,   0}, { 180,   0}, { 210,   0}, { 210,   0}, { 225,   0},
-    {   0,  45}, {  15,  45}, {  30,  45}, {  45,  45}, {  60,  45}, {  75,  45}, {  90,  45}, { 105,  45}, { 120,  45}, { 135,  45}, { 150,  45}, { 165,  45}, { 180,  45}, { 210,  45}, { 210,  45}, { 215,  45},
-    {   0,  90}, {  15,  90}, {  30,  90}, {  45,  90}, {  60,  90}, {  75,  90}, {  90,  90}, { 105,  90}, { 120,  90}, { 135,  90}, { 150,  90}, { 165,  90}, { 180,  90}, { 195,  90}, { 210,  90}, { 215,  90},
-    {   0, 135}, {  15, 135}, {  30, 135}, {  45, 135}, {  60, 135}, {  75, 135}, {  90, 135}, { 105, 135}, { 120, 135}, { 135, 135}, { 150, 135}, { 165, 135}, { 180, 135},
-    {   0, 180},              {  30, 180}, {  45, 180}, {  60, 180}, {  75, 180}, {  90, 180}, { 105, 180}, { 120, 180}, { 135, 180}, { 150, 180}, { 165, 180}, { 180, 180}, { 210, 180}, { 225,  45}, { 225,   0},
-    {   0, 225}, {  15, 225}, {  30, 225},                                        {  90, 225},                           { 135, 225}, { 150, 225}, { 165, 225}, { 180, 225}, { 195, 225}, { 210, 225}, { 225, 225}
-}, {
-    1          , 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          , 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                       , 4          , 4          , 4          , 4          , 4          , 4          , 4          , 4          , 4          , 4          , 1          , 1          , 1          , 1          ,
-    1          , 1          , 1          ,                                        4          ,                           1          , 1          , 1          , 1          , 1          , 1          , 1
-} };
 #endif

+ 89 - 0
keyboards/acheron/apollo/87h/gamma/keyboard.json

@@ -58,6 +58,95 @@
             "val": 80
         },
         "driver": "is31fl3741",
+        "layout": [
+            {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
+            {"matrix": [0, 1], "x": 14, "y": 0, "flags": 4},
+            {"matrix": [0, 2], "x": 28, "y": 0, "flags": 4},
+            {"matrix": [0, 3], "x": 56, "y": 0, "flags": 4},
+            {"matrix": [0, 4], "x": 70, "y": 0, "flags": 4},
+            {"matrix": [0, 5], "x": 84, "y": 0, "flags": 4},
+            {"matrix": [0, 6], "x": 98, "y": 0, "flags": 4},
+            {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4},
+            {"matrix": [0, 8], "x": 126, "y": 0, "flags": 4},
+            {"matrix": [0, 9], "x": 140, "y": 0, "flags": 4},
+            {"matrix": [0, 10], "x": 154, "y": 0, "flags": 4},
+            {"matrix": [0, 11], "x": 168, "y": 0, "flags": 4},
+            {"matrix": [0, 12], "x": 182, "y": 0, "flags": 4},
+            {"matrix": [0, 13], "x": 196, "y": 0, "flags": 4},
+            {"matrix": [0, 14], "x": 210, "y": 0, "flags": 4},
+            {"matrix": [0, 15], "x": 224, "y": 0, "flags": 4},
+            {"matrix": [1, 0], "x": 0, "y": 12, "flags": 4},
+            {"matrix": [1, 1], "x": 14, "y": 12, "flags": 4},
+            {"matrix": [1, 2], "x": 28, "y": 12, "flags": 4},
+            {"matrix": [1, 3], "x": 42, "y": 12, "flags": 4},
+            {"matrix": [1, 4], "x": 56, "y": 12, "flags": 4},
+            {"matrix": [1, 5], "x": 70, "y": 12, "flags": 4},
+            {"matrix": [1, 6], "x": 84, "y": 12, "flags": 4},
+            {"matrix": [1, 7], "x": 98, "y": 12, "flags": 4},
+            {"matrix": [1, 8], "x": 112, "y": 12, "flags": 4},
+            {"matrix": [1, 9], "x": 126, "y": 12, "flags": 4},
+            {"matrix": [1, 10], "x": 140, "y": 12, "flags": 4},
+            {"matrix": [1, 11], "x": 154, "y": 12, "flags": 4},
+            {"matrix": [1, 12], "x": 168, "y": 12, "flags": 4},
+            {"matrix": [1, 13], "x": 182, "y": 12, "flags": 4},
+            {"matrix": [1, 14], "x": 196, "y": 12, "flags": 4},
+            {"matrix": [1, 15], "x": 210, "y": 12, "flags": 4},
+            {"matrix": [4, 15], "x": 224, "y": 12, "flags": 4},
+            {"matrix": [2, 0], "x": 0, "y": 25, "flags": 4},
+            {"matrix": [2, 1], "x": 14, "y": 25, "flags": 4},
+            {"matrix": [2, 2], "x": 28, "y": 25, "flags": 4},
+            {"matrix": [2, 3], "x": 42, "y": 25, "flags": 4},
+            {"matrix": [2, 4], "x": 56, "y": 25, "flags": 4},
+            {"matrix": [2, 5], "x": 70, "y": 25, "flags": 4},
+            {"matrix": [2, 6], "x": 84, "y": 25, "flags": 4},
+            {"matrix": [2, 7], "x": 98, "y": 25, "flags": 4},
+            {"matrix": [2, 8], "x": 112, "y": 25, "flags": 4},
+            {"matrix": [2, 9], "x": 126, "y": 25, "flags": 4},
+            {"matrix": [2, 10], "x": 140, "y": 25, "flags": 4},
+            {"matrix": [2, 11], "x": 154, "y": 25, "flags": 4},
+            {"matrix": [2, 12], "x": 168, "y": 25, "flags": 4},
+            {"matrix": [2, 13], "x": 182, "y": 25, "flags": 4},
+            {"matrix": [2, 14], "x": 196, "y": 25, "flags": 4},
+            {"matrix": [2, 15], "x": 210, "y": 25, "flags": 4},
+            {"matrix": [4, 14], "x": 224, "y": 25, "flags": 4},
+            {"matrix": [3, 0], "x": 0, "y": 38, "flags": 4},
+            {"matrix": [3, 1], "x": 14, "y": 38, "flags": 4},
+            {"matrix": [3, 2], "x": 28, "y": 38, "flags": 4},
+            {"matrix": [3, 3], "x": 42, "y": 38, "flags": 4},
+            {"matrix": [3, 4], "x": 56, "y": 38, "flags": 4},
+            {"matrix": [3, 5], "x": 70, "y": 38, "flags": 4},
+            {"matrix": [3, 6], "x": 84, "y": 38, "flags": 4},
+            {"matrix": [3, 7], "x": 98, "y": 38, "flags": 4},
+            {"matrix": [3, 8], "x": 112, "y": 38, "flags": 4},
+            {"matrix": [3, 9], "x": 126, "y": 38, "flags": 4},
+            {"matrix": [3, 10], "x": 140, "y": 38, "flags": 1},
+            {"matrix": [3, 11], "x": 156, "y": 38, "flags": 1},
+            {"matrix": [3, 12], "x": 168, "y": 38, "flags": 4},
+            {"matrix": [4, 0], "x": 0, "y": 51, "flags": 4},
+            {"matrix": [4, 2], "x": 14, "y": 51, "flags": 4},
+            {"matrix": [4, 3], "x": 28, "y": 51, "flags": 4},
+            {"matrix": [4, 4], "x": 42, "y": 51, "flags": 4},
+            {"matrix": [4, 5], "x": 56, "y": 51, "flags": 4},
+            {"matrix": [4, 6], "x": 70, "y": 51, "flags": 4},
+            {"matrix": [4, 7], "x": 84, "y": 51, "flags": 4},
+            {"matrix": [4, 8], "x": 98, "y": 51, "flags": 4},
+            {"matrix": [4, 9], "x": 112, "y": 51, "flags": 4},
+            {"matrix": [4, 10], "x": 126, "y": 51, "flags": 1},
+            {"matrix": [4, 11], "x": 140, "y": 51, "flags": 1},
+            {"matrix": [4, 12], "x": 156, "y": 51, "flags": 1},
+            {"matrix": [4, 13], "x": 210, "y": 51, "flags": 1},
+            {"matrix": [5, 0], "x": 0, "y": 64, "flags": 1},
+            {"matrix": [5, 1], "x": 14, "y": 64, "flags": 1},
+            {"matrix": [5, 2], "x": 28, "y": 64, "flags": 1},
+            {"matrix": [5, 6], "x": 84, "y": 64, "flags": 4},
+            {"matrix": [5, 9], "x": 140, "y": 64, "flags": 1},
+            {"matrix": [5, 10], "x": 154, "y": 64, "flags": 1},
+            {"matrix": [5, 11], "x": 168, "y": 64, "flags": 1},
+            {"matrix": [5, 12], "x": 182, "y": 64, "flags": 1},
+            {"matrix": [5, 13], "x": 196, "y": 64, "flags": 1},
+            {"matrix": [5, 14], "x": 210, "y": 64, "flags": 1},
+            {"matrix": [5, 15], "x": 224, "y": 64, "flags": 1}
+        ],
         "sleep": true
     },
     "features": {

+ 0 - 24
keyboards/acheron/apollo/87htsc/87htsc.c

@@ -21,27 +21,3 @@ void board_init(void) {
     gpio_set_pin_input(B9);
     gpio_set_pin_input(B10);
 }
-
-led_config_t g_led_config = { {
-	{ 15       , 14         , 13         , 12         , 11         , 10         , 9          , 8          , 7          , 6          , 5          , 4          , 3          , NO_LED     , 2          , 1          , 0         },
-	{ 16       , 17         , 18         , 19         , 20         , 21         , 22         , 23         , 24         , 25         , 26         , 27         , 28         , 29         , 30         , 31         , 32        },
-	{ 49       , 48         , 47         , 46         , 45         , 44         , 43         , 42         , 41         , 40         , 39         , 38         , 37         , 36         , 35         , 34         , 33         },
-	{ 50       , 51         , 52         , 53         , 54         , 55         , 56         , 57         , 58         , 59         , 60         , 61         , 62         , NO_LED     , NO_LED     , NO_LED     , NO_LED    },
-	{ 75       , NO_LED     , 74         , 73         , 72         , 71         , 70         , 69         , 68         , 67         , 66         , 65         , 64         , NO_LED     , NO_LED     , 63         , NO_LED    },
-	{ 76       , 77         , 78         , NO_LED     , NO_LED     , NO_LED     , 79         , NO_LED     , NO_LED     , NO_LED     , 80         , 81         , 82         , NO_LED     , 83         , 84         , 85        }
-},{
-// "Fine-tuned" complex configuration
-	{ 210,   0}, { 196,   0}, { 182,   0}, { 168,   0}, { 154,   0}, { 140,   0}, { 140,   0}, { 126,   0}, { 112,   0}, {  98,   0}, {  84,   0}, {  70,   0}, {  56,   0},              {  28,   0}, {  14,   0}, {   0,   0},
-	{   0,  45}, {  14,  45}, {  28,  45}, {  42,  45}, {  56,  45}, {  70,  45}, {  84,  45}, {  98,  45}, { 112,  45}, { 126,  45}, { 140,  45}, { 154,  45}, { 168,  45}, { 182,  45}, { 196,  45}, { 210,  45}, { 224,  45},
-	{ 224,  90}, { 210,  90}, { 196,  90}, { 182,  90}, { 168,  90}, { 154,  90}, { 140,  90}, { 126,  90}, { 112,  90}, {  98,  90}, {  84,  90}, {  70,  90}, {  56,  90}, {  42,  90}, {  28,  90}, {  14,  90}, {   0,  90},
-	{   0, 135}, {  14, 135}, {  28, 135}, {  42, 135}, {  56, 135}, {  70, 135}, {  84, 135}, {  98, 135}, { 112, 135}, { 126, 135}, { 140, 135}, { 154, 135}, { 168, 135},
-	{ 192, 180},              { 168, 180}, { 154, 180}, { 140, 180}, { 126, 180}, { 112, 180}, {  98, 180}, {  84, 180}, {  70, 180}, {  56, 180}, {  42, 180}, {  28, 180},                           {  14, 180},
-	{   0, 225}, {  14, 225}, {  28, 225},                           {  84, 225},                                        { 140, 225}, { 154, 225}, { 168, 225},                           { 196, 225}, { 210, 225}, { 224, 225}
-}, {
-	1          , 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          , 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          , 4          , 1          ,
-	1                       , 4          , 4          , 4          , 4          , 4          , 4          , 4          , 4          , 4          , 4          , 1                                    , 1          ,
-	1          , 1          , 1          ,                                        4          ,                                        1          , 1          , 1                       , 1          , 1          , 1          
-} };

+ 88 - 0
keyboards/acheron/apollo/87htsc/keyboard.json

@@ -60,6 +60,94 @@
             "val": 60
         },
         "driver": "ws2812",
+        "layout": [
+            {"matrix": [0, 16], "x": 210, "y": 0, "flags": 1},
+            {"matrix": [0, 15], "x": 196, "y": 0, "flags": 4},
+            {"matrix": [0, 14], "x": 182, "y": 0, "flags": 4},
+            {"matrix": [0, 12], "x": 168, "y": 0, "flags": 4},
+            {"matrix": [0, 11], "x": 154, "y": 0, "flags": 4},
+            {"matrix": [0, 10], "x": 140, "y": 0, "flags": 4},
+            {"matrix": [0, 9], "x": 140, "y": 0, "flags": 4},
+            {"matrix": [0, 8], "x": 126, "y": 0, "flags": 4},
+            {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4},
+            {"matrix": [0, 6], "x": 98, "y": 0, "flags": 4},
+            {"matrix": [0, 5], "x": 84, "y": 0, "flags": 4},
+            {"matrix": [0, 4], "x": 70, "y": 0, "flags": 4},
+            {"matrix": [0, 3], "x": 56, "y": 0, "flags": 4},
+            {"matrix": [0, 2], "x": 28, "y": 0, "flags": 4},
+            {"matrix": [0, 1], "x": 14, "y": 0, "flags": 4},
+            {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
+            {"matrix": [1, 0], "x": 0, "y": 12, "flags": 4},
+            {"matrix": [1, 1], "x": 14, "y": 12, "flags": 4},
+            {"matrix": [1, 2], "x": 28, "y": 12, "flags": 4},
+            {"matrix": [1, 3], "x": 42, "y": 12, "flags": 4},
+            {"matrix": [1, 4], "x": 56, "y": 12, "flags": 4},
+            {"matrix": [1, 5], "x": 70, "y": 12, "flags": 4},
+            {"matrix": [1, 6], "x": 84, "y": 12, "flags": 4},
+            {"matrix": [1, 7], "x": 98, "y": 12, "flags": 4},
+            {"matrix": [1, 8], "x": 112, "y": 12, "flags": 4},
+            {"matrix": [1, 9], "x": 126, "y": 12, "flags": 4},
+            {"matrix": [1, 10], "x": 140, "y": 12, "flags": 4},
+            {"matrix": [1, 11], "x": 154, "y": 12, "flags": 4},
+            {"matrix": [1, 12], "x": 168, "y": 12, "flags": 4},
+            {"matrix": [1, 13], "x": 182, "y": 12, "flags": 4},
+            {"matrix": [1, 14], "x": 196, "y": 12, "flags": 4},
+            {"matrix": [1, 15], "x": 210, "y": 12, "flags": 4},
+            {"matrix": [1, 16], "x": 224, "y": 12, "flags": 4},
+            {"matrix": [2, 16], "x": 224, "y": 25, "flags": 4},
+            {"matrix": [2, 15], "x": 210, "y": 25, "flags": 4},
+            {"matrix": [2, 14], "x": 196, "y": 25, "flags": 4},
+            {"matrix": [2, 13], "x": 182, "y": 25, "flags": 4},
+            {"matrix": [2, 12], "x": 168, "y": 25, "flags": 4},
+            {"matrix": [2, 11], "x": 154, "y": 25, "flags": 4},
+            {"matrix": [2, 10], "x": 140, "y": 25, "flags": 4},
+            {"matrix": [2, 9], "x": 126, "y": 25, "flags": 4},
+            {"matrix": [2, 8], "x": 112, "y": 25, "flags": 4},
+            {"matrix": [2, 7], "x": 98, "y": 25, "flags": 4},
+            {"matrix": [2, 6], "x": 84, "y": 25, "flags": 4},
+            {"matrix": [2, 5], "x": 70, "y": 25, "flags": 4},
+            {"matrix": [2, 4], "x": 56, "y": 25, "flags": 4},
+            {"matrix": [2, 3], "x": 42, "y": 25, "flags": 4},
+            {"matrix": [2, 2], "x": 28, "y": 25, "flags": 4},
+            {"matrix": [2, 1], "x": 14, "y": 25, "flags": 4},
+            {"matrix": [2, 0], "x": 0, "y": 25, "flags": 4},
+            {"matrix": [3, 0], "x": 0, "y": 38, "flags": 4},
+            {"matrix": [3, 1], "x": 14, "y": 38, "flags": 4},
+            {"matrix": [3, 2], "x": 28, "y": 38, "flags": 4},
+            {"matrix": [3, 3], "x": 42, "y": 38, "flags": 4},
+            {"matrix": [3, 4], "x": 56, "y": 38, "flags": 4},
+            {"matrix": [3, 5], "x": 70, "y": 38, "flags": 4},
+            {"matrix": [3, 6], "x": 84, "y": 38, "flags": 4},
+            {"matrix": [3, 7], "x": 98, "y": 38, "flags": 4},
+            {"matrix": [3, 8], "x": 112, "y": 38, "flags": 4},
+            {"matrix": [3, 9], "x": 126, "y": 38, "flags": 4},
+            {"matrix": [3, 10], "x": 140, "y": 38, "flags": 4},
+            {"matrix": [3, 11], "x": 154, "y": 38, "flags": 4},
+            {"matrix": [3, 12], "x": 168, "y": 38, "flags": 1},
+            {"matrix": [4, 15], "x": 192, "y": 51, "flags": 1},
+            {"matrix": [4, 12], "x": 168, "y": 51, "flags": 4},
+            {"matrix": [4, 11], "x": 154, "y": 51, "flags": 4},
+            {"matrix": [4, 10], "x": 140, "y": 51, "flags": 4},
+            {"matrix": [4, 9], "x": 126, "y": 51, "flags": 4},
+            {"matrix": [4, 8], "x": 112, "y": 51, "flags": 4},
+            {"matrix": [4, 7], "x": 98, "y": 51, "flags": 4},
+            {"matrix": [4, 6], "x": 84, "y": 51, "flags": 4},
+            {"matrix": [4, 5], "x": 70, "y": 51, "flags": 4},
+            {"matrix": [4, 4], "x": 56, "y": 51, "flags": 4},
+            {"matrix": [4, 3], "x": 42, "y": 51, "flags": 4},
+            {"matrix": [4, 2], "x": 28, "y": 51, "flags": 1},
+            {"matrix": [4, 0], "x": 14, "y": 51, "flags": 1},
+            {"matrix": [5, 0], "x": 0, "y": 64, "flags": 1},
+            {"matrix": [5, 1], "x": 14, "y": 64, "flags": 1},
+            {"matrix": [5, 2], "x": 28, "y": 64, "flags": 1},
+            {"matrix": [5, 6], "x": 84, "y": 64, "flags": 4},
+            {"matrix": [5, 10], "x": 140, "y": 64, "flags": 1},
+            {"matrix": [5, 11], "x": 154, "y": 64, "flags": 1},
+            {"matrix": [5, 12], "x": 168, "y": 64, "flags": 1},
+            {"matrix": [5, 14], "x": 196, "y": 64, "flags": 1},
+            {"matrix": [5, 15], "x": 210, "y": 64, "flags": 1},
+            {"matrix": [5, 16], "x": 224, "y": 64, "flags": 1}
+        ],
         "sleep": true
     },
     "features": {

+ 0 - 42
keyboards/acheron/apollo/88htsc/88htsc.c

@@ -1,42 +0,0 @@
-/*
- Copyright 2022 Álvaro "Gondolindrim" Volpato <alvaro.volpato@usp.br>
-
-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"
-
-led_config_t g_led_config = { {
-	{ 16       , 15         , 14         , 13         , 12         , 11         , 10         , 9          , 8          , 7          , 6          , 5          , 4          , 3          , 2          , 1          , 0         },
-	{ 17       , 18         , 19         , 20         , 21         , 22         , 23         , 24         , 25         , 26         , 27         , 28         , 29         , 30         , 31         , 32         , 33        },
-	{ 50       , 49         , 48         , 47         , 46         , 45         , 44         , 43         , 42         , 41         , 40         , 39         , 38         , 37         , 36         , 35         , 34        },
-	{ 51       , 52         , 53         , 54         , 55         , 56         , 57         , 58         , 59         , 60         , 61         , 62         , 63         , NO_LED     , NO_LED     , NO_LED     , NO_LED    },
-	{ 76       , NO_LED     , 75         , 74         , 73         , 72         , 71         , 70         , 69         , 68         , 67         , 66         , 65         , NO_LED     , NO_LED     , 64         , NO_LED    },
-	{ 77       , 78         , 79         , NO_LED     , NO_LED     , NO_LED     , 80         , NO_LED     , NO_LED     , NO_LED     , 81         , 82         , 83         , NO_LED     , 84         , 85         , 86        }
-},{
-// "Fine-tuned" complex configuration
-	{ 210,   0}, { 196,   0}, { 182,   0}, { 168,   0}, { 154,   0}, { 140,   0}, { 140,   0}, { 126,   0}, { 112,   0}, {  98,   0}, {  84,   0}, {  70,   0}, {  56,   0}, {  45,   0}, {  28,   0}, {  14,   0}, {   0,   0},
-	{   0,  45}, {  14,  45}, {  28,  45}, {  42,  45}, {  56,  45}, {  70,  45}, {  84,  45}, {  98,  45}, { 112,  45}, { 126,  45}, { 140,  45}, { 154,  45}, { 168,  45}, { 182,  45}, { 196,  45}, { 210,  45}, { 224,  45},
-	{ 224,  90}, { 210,  90}, { 196,  90}, { 182,  90}, { 168,  90}, { 154,  90}, { 140,  90}, { 126,  90}, { 112,  90}, {  98,  90}, {  84,  90}, {  70,  90}, {  56,  90}, {  42,  90}, {  28,  90}, {  14,  90}, {   0,  90},
-	{   0, 135}, {  14, 135}, {  28, 135}, {  42, 135}, {  56, 135}, {  70, 135}, {  84, 135}, {  98, 135}, { 112, 135}, { 126, 135}, { 140, 135}, { 154, 135}, { 168, 135},
-	{ 192, 180},              { 168, 180}, { 154, 180}, { 140, 180}, { 126, 180}, { 112, 180}, {  98, 180}, {  84, 180}, {  70, 180}, {  56, 180}, {  42, 180}, {  28, 180},                           {  14, 180},
-	{   0, 225}, {  14, 225}, {  28, 225},                           {  84, 225},                                        { 140, 225}, { 154, 225}, { 168, 225},                           { 196,  45}, { 210,  45}, { 224,  90}
-}, {
-	1          , 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          , 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          , 4          , 4          , 1          ,
-	1                       , 4          , 4          , 4          , 4          , 4          , 4          , 4          , 4          , 4          , 4          , 1                                    , 1          ,
-	1          , 1          , 1          ,                                        4          ,                                        1          , 1          , 1                       , 1          , 1          , 1          
-} };

+ 89 - 0
keyboards/acheron/apollo/88htsc/keyboard.json

@@ -60,6 +60,95 @@
             "val": 60
         },
         "driver": "ws2812",
+        "layout": [
+            {"matrix": [0, 16], "x": 210, "y": 0, "flags": 1},
+            {"matrix": [0, 15], "x": 196, "y": 0, "flags": 4},
+            {"matrix": [0, 14], "x": 182, "y": 0, "flags": 4},
+            {"matrix": [0, 13], "x": 168, "y": 0, "flags": 4},
+            {"matrix": [0, 12], "x": 154, "y": 0, "flags": 4},
+            {"matrix": [0, 11], "x": 140, "y": 0, "flags": 4},
+            {"matrix": [0, 10], "x": 140, "y": 0, "flags": 4},
+            {"matrix": [0, 9], "x": 126, "y": 0, "flags": 4},
+            {"matrix": [0, 8], "x": 112, "y": 0, "flags": 4},
+            {"matrix": [0, 7], "x": 98, "y": 0, "flags": 4},
+            {"matrix": [0, 6], "x": 84, "y": 0, "flags": 4},
+            {"matrix": [0, 5], "x": 70, "y": 0, "flags": 4},
+            {"matrix": [0, 4], "x": 56, "y": 0, "flags": 4},
+            {"matrix": [0, 3], "x": 45, "y": 0, "flags": 4},
+            {"matrix": [0, 2], "x": 28, "y": 0, "flags": 4},
+            {"matrix": [0, 1], "x": 14, "y": 0, "flags": 4},
+            {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
+            {"matrix": [1, 0], "x": 0, "y": 12, "flags": 4},
+            {"matrix": [1, 1], "x": 14, "y": 12, "flags": 4},
+            {"matrix": [1, 2], "x": 28, "y": 12, "flags": 4},
+            {"matrix": [1, 3], "x": 42, "y": 12, "flags": 4},
+            {"matrix": [1, 4], "x": 56, "y": 12, "flags": 4},
+            {"matrix": [1, 5], "x": 70, "y": 12, "flags": 4},
+            {"matrix": [1, 6], "x": 84, "y": 12, "flags": 4},
+            {"matrix": [1, 7], "x": 98, "y": 12, "flags": 4},
+            {"matrix": [1, 8], "x": 112, "y": 12, "flags": 4},
+            {"matrix": [1, 9], "x": 126, "y": 12, "flags": 4},
+            {"matrix": [1, 10], "x": 140, "y": 12, "flags": 4},
+            {"matrix": [1, 11], "x": 154, "y": 12, "flags": 4},
+            {"matrix": [1, 12], "x": 168, "y": 12, "flags": 4},
+            {"matrix": [1, 13], "x": 182, "y": 12, "flags": 4},
+            {"matrix": [1, 14], "x": 196, "y": 12, "flags": 4},
+            {"matrix": [1, 15], "x": 210, "y": 12, "flags": 4},
+            {"matrix": [1, 16], "x": 224, "y": 12, "flags": 4},
+            {"matrix": [2, 16], "x": 224, "y": 25, "flags": 4},
+            {"matrix": [2, 15], "x": 210, "y": 25, "flags": 4},
+            {"matrix": [2, 14], "x": 196, "y": 25, "flags": 4},
+            {"matrix": [2, 13], "x": 182, "y": 25, "flags": 4},
+            {"matrix": [2, 12], "x": 168, "y": 25, "flags": 4},
+            {"matrix": [2, 11], "x": 154, "y": 25, "flags": 4},
+            {"matrix": [2, 10], "x": 140, "y": 25, "flags": 4},
+            {"matrix": [2, 9], "x": 126, "y": 25, "flags": 4},
+            {"matrix": [2, 8], "x": 112, "y": 25, "flags": 4},
+            {"matrix": [2, 7], "x": 98, "y": 25, "flags": 4},
+            {"matrix": [2, 6], "x": 84, "y": 25, "flags": 4},
+            {"matrix": [2, 5], "x": 70, "y": 25, "flags": 4},
+            {"matrix": [2, 4], "x": 56, "y": 25, "flags": 4},
+            {"matrix": [2, 3], "x": 42, "y": 25, "flags": 4},
+            {"matrix": [2, 2], "x": 28, "y": 25, "flags": 4},
+            {"matrix": [2, 1], "x": 14, "y": 25, "flags": 4},
+            {"matrix": [2, 0], "x": 0, "y": 25, "flags": 4},
+            {"matrix": [3, 0], "x": 0, "y": 38, "flags": 4},
+            {"matrix": [3, 1], "x": 14, "y": 38, "flags": 4},
+            {"matrix": [3, 2], "x": 28, "y": 38, "flags": 4},
+            {"matrix": [3, 3], "x": 42, "y": 38, "flags": 4},
+            {"matrix": [3, 4], "x": 56, "y": 38, "flags": 4},
+            {"matrix": [3, 5], "x": 70, "y": 38, "flags": 4},
+            {"matrix": [3, 6], "x": 84, "y": 38, "flags": 4},
+            {"matrix": [3, 7], "x": 98, "y": 38, "flags": 4},
+            {"matrix": [3, 8], "x": 112, "y": 38, "flags": 4},
+            {"matrix": [3, 9], "x": 126, "y": 38, "flags": 4},
+            {"matrix": [3, 10], "x": 140, "y": 38, "flags": 4},
+            {"matrix": [3, 11], "x": 154, "y": 38, "flags": 4},
+            {"matrix": [3, 12], "x": 168, "y": 38, "flags": 1},
+            {"matrix": [4, 15], "x": 192, "y": 51, "flags": 1},
+            {"matrix": [4, 12], "x": 168, "y": 51, "flags": 4},
+            {"matrix": [4, 11], "x": 154, "y": 51, "flags": 4},
+            {"matrix": [4, 10], "x": 140, "y": 51, "flags": 4},
+            {"matrix": [4, 9], "x": 126, "y": 51, "flags": 4},
+            {"matrix": [4, 8], "x": 112, "y": 51, "flags": 4},
+            {"matrix": [4, 7], "x": 98, "y": 51, "flags": 4},
+            {"matrix": [4, 6], "x": 84, "y": 51, "flags": 4},
+            {"matrix": [4, 5], "x": 70, "y": 51, "flags": 4},
+            {"matrix": [4, 4], "x": 56, "y": 51, "flags": 4},
+            {"matrix": [4, 3], "x": 42, "y": 51, "flags": 4},
+            {"matrix": [4, 2], "x": 28, "y": 51, "flags": 1},
+            {"matrix": [4, 0], "x": 14, "y": 51, "flags": 1},
+            {"matrix": [5, 0], "x": 0, "y": 64, "flags": 1},
+            {"matrix": [5, 1], "x": 14, "y": 64, "flags": 1},
+            {"matrix": [5, 2], "x": 28, "y": 64, "flags": 1},
+            {"matrix": [5, 6], "x": 84, "y": 64, "flags": 4},
+            {"matrix": [5, 10], "x": 140, "y": 64, "flags": 1},
+            {"matrix": [5, 11], "x": 154, "y": 64, "flags": 1},
+            {"matrix": [5, 12], "x": 168, "y": 64, "flags": 1},
+            {"matrix": [5, 14], "x": 196, "y": 64, "flags": 1},
+            {"matrix": [5, 15], "x": 210, "y": 64, "flags": 1},
+            {"matrix": [5, 16], "x": 224, "y": 64, "flags": 1}
+        ],
         "sleep": true
     },
     "features": {

+ 0 - 27
keyboards/adpenrose/akemipad/akemipad.c

@@ -1,27 +0,0 @@
-// Copyright 2022 Arturo Avila (@ADPenrose)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include "quantum.h"
-
-#ifdef RGB_MATRIX_ENABLE
-
-/* Setting up the LED matrix */
-led_config_t g_led_config = { {
-  // Key Matrix to LED Index
-  { 0, 1, 2, 3, NO_LED },
-  { 4, 5, 6, 7, NO_LED },
-  { 8, 9, 10, 11, 12 },
-  { 13, 14, 15, 16, NO_LED },
-  { 17, 18, 19, 20, 21 },
-  { 22, 23, 24, 25, 26 },
-}, {
-  // LED Index to Physical Position
-  {  0,0  }, { 37,0  }, { 74,0  }, {111,0  }, {  0,34 }, { 37,34 }, { 74,34 }, {111,34 }, {  0,62 }, { 37,62 }, 
-  { 74,62 }, {111,62 }, {120,75 }, {  0,89 }, { 37,89 }, { 74,89 }, {111,89 }, {  0,117}, { 37,117}, { 74,117}, 
-  {111,117}, {120,130}, {  0,137}, { 18,144}, { 37,137}, { 74,144}, {111,144}
-}, {
-  // LED Index to Flag
-  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
-} };
-
-#endif

+ 29 - 1
keyboards/adpenrose/akemipad/keyboard.json

@@ -15,8 +15,36 @@
             "cycle_left_right": true,
             "cycle_up_down": true
         },
-        "center_point": [60, 77],
         "driver": "ws2812",
+        "layout": [
+            {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
+            {"matrix": [0, 1], "x": 69, "y": 0, "flags": 4},
+            {"matrix": [0, 2], "x": 138, "y": 0, "flags": 4},
+            {"matrix": [0, 3], "x": 207, "y": 0, "flags": 4},
+            {"matrix": [1, 0], "x": 0, "y": 13, "flags": 4},
+            {"matrix": [1, 1], "x": 69, "y": 13, "flags": 4},
+            {"matrix": [1, 2], "x": 138, "y": 13, "flags": 4},
+            {"matrix": [1, 3], "x": 207, "y": 13, "flags": 4},
+            {"matrix": [2, 0], "x": 0, "y": 26, "flags": 4},
+            {"matrix": [2, 1], "x": 69, "y": 26, "flags": 4},
+            {"matrix": [2, 2], "x": 138, "y": 26, "flags": 4},
+            {"matrix": [2, 3], "x": 207, "y": 26, "flags": 4},
+            {"matrix": [2, 4], "x": 224, "y": 30, "flags": 4},
+            {"matrix": [3, 0], "x": 0, "y": 38, "flags": 4},
+            {"matrix": [3, 1], "x": 69, "y": 38, "flags": 4},
+            {"matrix": [3, 2], "x": 138, "y": 38, "flags": 4},
+            {"matrix": [3, 3], "x": 207, "y": 38, "flags": 4},
+            {"matrix": [4, 0], "x": 0, "y": 52, "flags": 4},
+            {"matrix": [4, 1], "x": 69, "y": 52, "flags": 4},
+            {"matrix": [4, 2], "x": 138, "y": 52, "flags": 4},
+            {"matrix": [4, 3], "x": 207, "y": 52, "flags": 4},
+            {"matrix": [4, 4], "x": 224, "y": 56, "flags": 4},
+            {"matrix": [5, 0], "x": 0, "y": 62, "flags": 4},
+            {"matrix": [5, 1], "x": 33, "y": 64, "flags": 4},
+            {"matrix": [5, 2], "x": 69, "y": 62, "flags": 4},
+            {"matrix": [5, 3], "x": 138, "y": 64, "flags": 4},
+            {"matrix": [5, 4], "x": 207, "y": 64, "flags": 4}
+        ],
         "max_brightness": 175,
         "sleep": true
     },

+ 74 - 0
keyboards/aeboards/satellite/rev1/keyboard.json

@@ -68,6 +68,80 @@
             "val": 80
         },
         "driver": "custom",
+        "layout": [
+            {"matrix": [1, 7], "x": 112, "y": 16, "flags": 4},
+            {"matrix": [1, 6], "x": 97, "y": 16, "flags": 4},
+            {"matrix": [1, 5], "x": 82, "y": 16, "flags": 4},
+            {"x": 67, "y": 16, "flags": 4},
+            {"matrix": [1, 4], "x": 52, "y": 16, "flags": 4},
+            {"x": 37, "y": 16, "flags": 4},
+            {"matrix": [1, 2], "x": 22, "y": 16, "flags": 4},
+            {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1},
+            {"matrix": [2, 11], "x": 6, "y": 32, "flags": 1},
+            {"matrix": [0, 8], "x": 119, "y": 0, "flags": 4},
+            {"matrix": [0, 7], "x": 105, "y": 0, "flags": 4},
+            {"matrix": [0, 6], "x": 90, "y": 0, "flags": 4},
+            {"matrix": [0, 5], "x": 75, "y": 0, "flags": 4},
+            {"matrix": [0, 4], "x": 60, "y": 0, "flags": 4},
+            {"matrix": [0, 3], "x": 45, "y": 0, "flags": 4},
+            {"matrix": [0, 2], "x": 30, "y": 0, "flags": 4},
+            {"matrix": [0, 1], "x": 15, "y": 0, "flags": 4},
+            {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
+            {"matrix": [1, 9], "x": 134, "y": 0, "flags": 4},
+            {"matrix": [0, 10], "x": 149, "y": 0, "flags": 4},
+            {"matrix": [0, 11], "x": 164, "y": 0, "flags": 4},
+            {"matrix": [0, 12], "x": 179, "y": 0, "flags": 4},
+            {"matrix": [0, 13], "x": 202, "y": 0, "flags": 4},
+            {"x": 212, "y": 0, "flags": 4},
+            {"matrix": [0, 14], "x": 224, "y": 0, "flags": 4},
+            {"matrix": [1, 14], "x": 224, "y": 16, "flags": 4},
+            {"matrix": [2, 14], "x": 224, "y": 32, "flags": 4},
+            {"matrix": [1, 8], "x": 127, "y": 16, "flags": 4},
+            {"x": 142, "y": 16, "flags": 4},
+            {"matrix": [1, 10], "x": 157, "y": 16, "flags": 4},
+            {"matrix": [1, 11], "x": 172, "y": 16, "flags": 4},
+            {"matrix": [1, 12], "x": 187, "y": 16, "flags": 4},
+            {"matrix": [1, 13], "x": 205, "y": 16, "flags": 4},
+            {"matrix": [3, 14], "x": 224, "y": 48, "flags": 4},
+            {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1},
+            {"matrix": [4, 13], "x": 209, "y": 64, "flags": 1},
+            {"matrix": [4, 5], "x": 95, "y": 64, "flags": 4},
+            {"matrix": [3, 5], "x": 93, "y": 48, "flags": 4},
+            {"matrix": [3, 4], "x": 78, "y": 48, "flags": 4},
+            {"matrix": [3, 3], "x": 63, "y": 48, "flags": 4},
+            {"matrix": [3, 2], "x": 49, "y": 48, "flags": 4},
+            {"matrix": [3, 1], "x": 34, "y": 48, "flags": 4},
+            {"x": 67, "y": 56, "flags": 4},
+            {"matrix": [4, 2], "x": 39, "y": 64, "flags": 1},
+            {"matrix": [4, 1], "x": 21, "y": 64, "flags": 1},
+            {"matrix": [2, 6], "x": 101, "y": 32, "flags": 4},
+            {"matrix": [2, 5], "x": 86, "y": 32, "flags": 4},
+            {"matrix": [2, 4], "x": 71, "y": 32, "flags": 4},
+            {"matrix": [2, 3], "x": 56, "y": 32, "flags": 4},
+            {"matrix": [2, 2], "x": 41, "y": 32, "flags": 4},
+            {"matrix": [2, 1], "x": 26, "y": 32, "flags": 4},
+            {"matrix": [3, 0], "x": 9, "y": 48, "flags": 1},
+            {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1},
+            {"x": 0, "y": 64, "flags": 4},
+            {"matrix": [2, 7], "x": 116, "y": 32, "flags": 4},
+            {"matrix": [2, 8], "x": 131, "y": 32, "flags": 4},
+            {"matrix": [2, 9], "x": 146, "y": 32, "flags": 4},
+            {"matrix": [2, 10], "x": 161, "y": 32, "flags": 4},
+            {"x": 175, "y": 32, "flags": 4},
+            {"matrix": [2, 12], "x": 200, "y": 32, "flags": 4},
+            {"matrix": [3, 10], "x": 168, "y": 48, "flags": 4},
+            {"matrix": [3, 12], "x": 189, "y": 48, "flags": 4},
+            {"matrix": [3, 13], "x": 209, "y": 48, "flags": 4},
+            {"matrix": [3, 6], "x": 108, "y": 48, "flags": 4},
+            {"matrix": [3, 7], "x": 123, "y": 48, "flags": 4},
+            {"matrix": [3, 8], "x": 138, "y": 48, "flags": 4},
+            {"matrix": [3, 9], "x": 153, "y": 48, "flags": 4},
+            {"x": 120, "y": 48, "flags": 4},
+            {"x": 120, "y": 56, "flags": 4},
+            {"matrix": [4, 9], "x": 153, "y": 64, "flags": 1},
+            {"matrix": [4, 10], "x": 175, "y": 64, "flags": 1},
+            {"matrix": [4, 12], "x": 194, "y": 64, "flags": 1}
+        ],
         "sleep": true
     },
     "processor": "atmega32u4",

+ 0 - 40
keyboards/aeboards/satellite/rev1/rev1.c

@@ -102,46 +102,6 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
     {1, C8_16,  C7_16,  C6_16}  //D17
 };
 
-led_config_t g_led_config = { {
-    { 17, 16, 15, 14,     13,     12, 11,     10,     9,      18, 19, 20,     21, 22,     24 },
-    { 7,  6,  6,  4,      4,      2,  1,      0,      27,     18, 29, 30,     31, 32,     25 },
-    { 8,  50, 49, 48,     47,     46, 45,     54,     55,     56, 57, 8,      59, NO_LED, 26 },
-    { 51, 41, 40, 39,     38,     37, 63,     64,     65,     66, 60, NO_LED, 61, 62,     33 },
-    { 52, 44, 43, NO_LED, NO_LED, 36, NO_LED, NO_LED, NO_LED, 69, 70, NO_LED, 71, 35,     34 },
-}, {
-    //A0 .. A17
-    {112,16 }, { 97,16 }, { 82,16 }, { 67,16 }, { 52,16 }, { 37,16 }, { 22,16 }, {  4,16 }, {  6,32 },
-    {119,0  }, {105,0  }, { 90,0  }, { 75,0  }, { 60,0  }, { 45,0  }, { 30,0  }, { 15,0  }, {  0,0  },
-
-    //B0 .. B17
-    {134,0  }, {149,0  }, {164,0  }, {179,0  }, {202,0  }, {255,255}, {224,0  }, {224,16 }, {224,32 },
-    {127,16 }, {142,16 }, {157,16 }, {172,16 }, {187,16 }, {205,16 }, {224,48 }, {224,64 }, {209,64 },
-
-    //C0 .. C17
-    { 95,64 }, { 93,48 }, { 78,48 }, { 63,48 }, { 49,48 }, { 34,48 }, { 67,56 }, { 39,64 }, { 21,64 },
-    {101,32 }, { 86,32 }, { 71,32 }, { 56,32 }, { 41,32 }, { 26,32 }, {  9,48 }, {  2,64 }, {255,255},
-
-    //D0 .. D17
-    {116,32 }, {131,32 }, {146,32 }, {161,32 }, {175,32 }, {200,32 }, {168,48 }, {189,48 }, {209,48 },
-    {108,48 }, {123,48 }, {138,48 }, {153,48 }, {255,255}, {120,56 }, {153,64 }, {175,64 }, {194,64 }
-}, {
-    //A0 .. A17
-    4, 4, 4, 4, 4, 4, 4, 1, 1,
-    4, 4, 4, 4, 4, 4, 4, 4, 4,
-
-    //B0 .. B17
-    4, 4, 4, 4, 4, 4, 4, 4, 4,
-    4, 4, 4, 4, 4, 4, 4, 1, 1,
-
-    //C0 .. C17
-    4, 4, 4, 4, 4, 4, 4, 1, 1,
-    4, 4, 4, 4, 4, 4, 1, 1, 4,
-
-    //D0 .. D17
-    4, 4, 4, 4, 4, 4, 4, 4, 4,
-    4, 4, 4, 4, 4, 4, 1, 1, 1
-} };
-
 // Custom Driver
 static void init(void) {
     i2c_init();

+ 70 - 0
keyboards/aleblazer/zodiark/keyboard.json

@@ -42,6 +42,76 @@
     },
     "rgb_matrix": {
         "driver": "ws2812",
+        "layout": [
+            {"matrix": [0, 5], "x": 93, "y": 0, "flags": 4},
+            {"matrix": [0, 4], "x": 74, "y": 0, "flags": 4},
+            {"matrix": [0, 3], "x": 56, "y": 0, "flags": 4},
+            {"matrix": [0, 2], "x": 37, "y": 0, "flags": 4},
+            {"matrix": [0, 1], "x": 19, "y": 0, "flags": 4},
+            {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
+            {"matrix": [1, 0], "x": 0, "y": 16, "flags": 4},
+            {"matrix": [1, 1], "x": 19, "y": 16, "flags": 4},
+            {"matrix": [1, 2], "x": 37, "y": 16, "flags": 4},
+            {"matrix": [1, 3], "x": 56, "y": 16, "flags": 4},
+            {"matrix": [1, 4], "x": 74, "y": 16, "flags": 4},
+            {"matrix": [1, 5], "x": 93, "y": 16, "flags": 4},
+            {"matrix": [0, 6], "x": 112, "y": 24, "flags": 4},
+            {"matrix": [1, 6], "x": 112, "y": 40, "flags": 4},
+            {"matrix": [2, 5], "x": 93, "y": 32, "flags": 4},
+            {"matrix": [2, 4], "x": 74, "y": 32, "flags": 4},
+            {"matrix": [2, 3], "x": 56, "y": 32, "flags": 4},
+            {"matrix": [2, 2], "x": 37, "y": 32, "flags": 4},
+            {"matrix": [2, 1], "x": 19, "y": 32, "flags": 4},
+            {"matrix": [2, 0], "x": 0, "y": 32, "flags": 4},
+            {"matrix": [3, 0], "x": 0, "y": 48, "flags": 4},
+            {"matrix": [3, 1], "x": 19, "y": 48, "flags": 4},
+            {"matrix": [3, 2], "x": 37, "y": 48, "flags": 4},
+            {"matrix": [3, 3], "x": 56, "y": 48, "flags": 4},
+            {"matrix": [3, 4], "x": 74, "y": 48, "flags": 4},
+            {"matrix": [3, 5], "x": 93, "y": 48, "flags": 4},
+            {"matrix": [2, 6], "x": 112, "y": 52, "flags": 4},
+            {"matrix": [4, 6], "x": 112, "y": 64, "flags": 4},
+            {"matrix": [4, 5], "x": 93, "y": 64, "flags": 4},
+            {"matrix": [4, 4], "x": 74, "y": 64, "flags": 4},
+            {"matrix": [4, 3], "x": 56, "y": 64, "flags": 4},
+            {"matrix": [4, 2], "x": 37, "y": 64, "flags": 4},
+            {"matrix": [4, 1], "x": 19, "y": 64, "flags": 4},
+            {"matrix": [4, 0], "x": 0, "y": 64, "flags": 4},
+            {"matrix": [5, 5], "x": 132, "y": 0, "flags": 4},
+            {"matrix": [5, 4], "x": 150, "y": 0, "flags": 4},
+            {"matrix": [5, 3], "x": 169, "y": 0, "flags": 4},
+            {"matrix": [5, 2], "x": 187, "y": 0, "flags": 4},
+            {"matrix": [5, 1], "x": 206, "y": 0, "flags": 4},
+            {"matrix": [5, 0], "x": 224, "y": 0, "flags": 4},
+            {"matrix": [6, 0], "x": 224, "y": 16, "flags": 4},
+            {"matrix": [6, 1], "x": 206, "y": 16, "flags": 4},
+            {"matrix": [6, 2], "x": 187, "y": 16, "flags": 4},
+            {"matrix": [6, 3], "x": 169, "y": 16, "flags": 4},
+            {"matrix": [6, 4], "x": 150, "y": 16, "flags": 4},
+            {"matrix": [6, 5], "x": 132, "y": 16, "flags": 4},
+            {"matrix": [5, 6], "x": 113, "y": 24, "flags": 4},
+            {"matrix": [6, 6], "x": 113, "y": 40, "flags": 4},
+            {"matrix": [7, 5], "x": 132, "y": 32, "flags": 4},
+            {"matrix": [7, 4], "x": 150, "y": 32, "flags": 4},
+            {"matrix": [7, 3], "x": 169, "y": 32, "flags": 4},
+            {"matrix": [7, 2], "x": 187, "y": 32, "flags": 4},
+            {"matrix": [7, 1], "x": 206, "y": 32, "flags": 4},
+            {"matrix": [7, 0], "x": 224, "y": 32, "flags": 4},
+            {"matrix": [8, 0], "x": 224, "y": 48, "flags": 4},
+            {"matrix": [8, 1], "x": 206, "y": 48, "flags": 4},
+            {"matrix": [8, 2], "x": 187, "y": 48, "flags": 4},
+            {"matrix": [8, 3], "x": 169, "y": 48, "flags": 4},
+            {"matrix": [8, 4], "x": 150, "y": 48, "flags": 4},
+            {"matrix": [8, 5], "x": 132, "y": 48, "flags": 4},
+            {"matrix": [7, 6], "x": 113, "y": 52, "flags": 4},
+            {"matrix": [9, 6], "x": 113, "y": 64, "flags": 4},
+            {"matrix": [9, 5], "x": 132, "y": 64, "flags": 4},
+            {"matrix": [9, 4], "x": 150, "y": 64, "flags": 4},
+            {"matrix": [9, 3], "x": 169, "y": 64, "flags": 4},
+            {"matrix": [9, 2], "x": 187, "y": 64, "flags": 4},
+            {"matrix": [9, 1], "x": 206, "y": 64, "flags": 4},
+            {"matrix": [9, 0], "x": 224, "y": 64, "flags": 4}
+        ],
         "max_brightness": 150,
         "sat_steps": 8,
         "speed_steps": 10,

+ 0 - 54
keyboards/aleblazer/zodiark/zodiark.c

@@ -1,54 +0,0 @@
-/*
-Copyright 2021 Spencer Deven <splitlogicdesign@gmail.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 3 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
-led_config_t g_led_config = { {
-// Key Matrix to LED Index
-  // Left Hand
-  { 5, 4, 3, 2, 1, 0, 12 },
-  { 6, 7, 8, 9, 10, 11, 13 },
-  { 19, 18, 17, 16, 15, 14, 26 },
-  { 20, 21, 22, 23, 24, 25, NO_LED },
-  { 33, 32, 31, 30, 29, 28, 27},
-  // Right Hand
-  { 39, 38, 37, 36, 35, 34, 46 },
-  { 40, 41, 42, 43, 44, 45, 47 },
-  { 53, 52, 51, 50, 49, 48, 60 },
-  { 54, 55, 56, 57, 58, 59, NO_LED },
-  { 67, 66, 65, 64, 63, 62, 61 },
-
-  
-}, {
-  // LED Index to Physical Position
-  // Left Hand
-  { 93,  0 }, { 74,  0 }, { 56,  0 }, { 37,  0 }, { 19,  0 }, { 0,  0 }, { 0,  16 },
-  { 19,  16 }, { 37,  16 }, { 56,  16 }, { 74,  16 }, { 93,  16 }, { 112,  24 }, { 112,  40 },
-  { 93,  32 }, { 74,  32 }, { 56,  32 }, { 37,  32 }, { 19,  32 }, { 0,  32 }, { 0,  48 },
-  { 19,  48 }, { 37,  48 }, { 56,  48 }, { 74,  48 }, { 93,  48 }, { 112,  52 },
-  { 112,  64 }, { 93,  64 }, { 74,  64 }, { 56,  64 }, { 37,  64 }, { 19,  64 }, { 0,  64 },
-  // Right Hand
-  { 132,  0 }, { 150,  0 }, { 169,  0 }, { 187,  0 }, { 206,  0 }, { 224,  0 }, { 224,  16 },
-  { 206,  16 }, { 187,  16 }, { 169,  16 }, { 150,  16 }, { 132,  16 }, { 113,  24 }, { 113,  40 },
-  { 132,  32 }, { 150,  32 }, { 169,  32 }, { 187,  32 }, { 206,  32 }, { 224,  32 }, { 224,  48 },
-  { 206,  48 }, { 187,  48 }, { 169,  48 }, { 150,  48 }, { 132,  48 }, { 113,  52 },
-  { 113,  64 }, { 132,  64 }, { 150,  64 }, { 169,  64 }, { 187,  64 }, { 206,  64 }, { 224,  64 },
-}, {
-  // LED Index to Flag
-  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, 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, 4, 4, 4, 4, 4, 4, 4, 4
-} };
-#endif

+ 0 - 22
keyboards/axolstudio/yeti/hotswap/hotswap.c

@@ -87,28 +87,6 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
     { 0, SW8_CS15, SW7_CS15, SW9_CS15 },
     { 0, SW11_CS15, SW10_CS15, SW12_CS15 },
 };
-
-led_config_t g_led_config = {
-    {
-        { 0,      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,     NO_LED,  43 },
-        { NO_LED, 44, 45,     46,     47, 48, 49,     50, 51, 52,     53, 54,     55,     NO_LED,  56 },
-        { NO_LED, 57, NO_LED, 58, NO_LED, 59, 60, NO_LED, 61, NO_LED, 62, NO_LED, NO_LED, NO_LED,  63 }
-    }, {
-        {0, 0},{16, 0},{32, 0},{48, 0},{64, 0},{80, 0},{96, 0},{112, 0},{128, 0},{144, 0},{160, 0},{176, 0},{192, 0},{208, 0},{224, 0},
-        {0, 16},{16,16},{32,16},{48,16},{64,16},{80,16},{96,16},{112,16},{128,16},{144,16},{160,16},{176,16},{192,16},{208,16},{224,16},
-        {0,32},{16,32},{32,32},{48,32},{64,32},{80,32},{96,32},{112,32},{128,32},{144,32},{160,32},{176,32},{192,32},{224, 32},
-        {16,48},{32,48},{48,48},{64,48},{80,48},{96,48},{112,48},{128,48},{144,48},{160,48},{176,48},{192,48},{224,48},
-        {16,64},{48,64},{80,64},{96,64},{128,64},{160,64},{224,64}
-    }, {
-        1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
-        1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
-        1, 1, 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,    4, 1,    4,    1,          1
-    }
-};
 #endif
 bool rgb_matrix_indicators_kb(void) {
     if (!rgb_matrix_indicators_user()) {

+ 66 - 0
keyboards/axolstudio/yeti/hotswap/keyboard.json

@@ -44,6 +44,72 @@
       "solid_multisplash": true
     },
     "driver": "is31fl3733",
+    "layout": [
+        {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
+        {"matrix": [0, 1], "x": 16, "y": 0, "flags": 1},
+        {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4},
+        {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4},
+        {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4},
+        {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4},
+        {"matrix": [0, 6], "x": 96, "y": 0, "flags": 4},
+        {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4},
+        {"matrix": [0, 8], "x": 128, "y": 0, "flags": 4},
+        {"matrix": [0, 9], "x": 144, "y": 0, "flags": 4},
+        {"matrix": [0, 10], "x": 160, "y": 0, "flags": 4},
+        {"matrix": [0, 11], "x": 176, "y": 0, "flags": 4},
+        {"matrix": [0, 12], "x": 192, "y": 0, "flags": 4},
+        {"matrix": [0, 13], "x": 208, "y": 0, "flags": 4},
+        {"matrix": [0, 14], "x": 224, "y": 0, "flags": 1},
+        {"matrix": [1, 0], "x": 0, "y": 16, "flags": 1},
+        {"matrix": [1, 1], "x": 16, "y": 16, "flags": 1},
+        {"matrix": [1, 2], "x": 32, "y": 16, "flags": 4},
+        {"matrix": [1, 3], "x": 48, "y": 16, "flags": 4},
+        {"matrix": [1, 4], "x": 64, "y": 16, "flags": 4},
+        {"matrix": [1, 5], "x": 80, "y": 16, "flags": 4},
+        {"matrix": [1, 6], "x": 96, "y": 16, "flags": 4},
+        {"matrix": [1, 7], "x": 112, "y": 16, "flags": 4},
+        {"matrix": [1, 8], "x": 128, "y": 16, "flags": 4},
+        {"matrix": [1, 9], "x": 144, "y": 16, "flags": 4},
+        {"matrix": [1, 10], "x": 160, "y": 16, "flags": 4},
+        {"matrix": [1, 11], "x": 176, "y": 16, "flags": 4},
+        {"matrix": [1, 12], "x": 192, "y": 16, "flags": 4},
+        {"matrix": [1, 13], "x": 208, "y": 16, "flags": 4},
+        {"matrix": [1, 14], "x": 224, "y": 16, "flags": 1},
+        {"matrix": [2, 0], "x": 0, "y": 32, "flags": 1},
+        {"matrix": [2, 1], "x": 16, "y": 32, "flags": 1},
+        {"matrix": [2, 2], "x": 32, "y": 32, "flags": 4},
+        {"matrix": [2, 3], "x": 48, "y": 32, "flags": 4},
+        {"matrix": [2, 4], "x": 64, "y": 32, "flags": 4},
+        {"matrix": [2, 5], "x": 80, "y": 32, "flags": 4},
+        {"matrix": [2, 6], "x": 96, "y": 32, "flags": 4},
+        {"matrix": [2, 7], "x": 112, "y": 32, "flags": 4},
+        {"matrix": [2, 8], "x": 128, "y": 32, "flags": 4},
+        {"matrix": [2, 9], "x": 144, "y": 32, "flags": 4},
+        {"matrix": [2, 10], "x": 160, "y": 32, "flags": 4},
+        {"matrix": [2, 11], "x": 176, "y": 32, "flags": 4},
+        {"matrix": [2, 12], "x": 192, "y": 32, "flags": 4},
+        {"matrix": [2, 14], "x": 224, "y": 32, "flags": 1},
+        {"matrix": [3, 1], "x": 16, "y": 48, "flags": 1},
+        {"matrix": [3, 2], "x": 32, "y": 48, "flags": 4},
+        {"matrix": [3, 3], "x": 48, "y": 48, "flags": 4},
+        {"matrix": [3, 4], "x": 64, "y": 48, "flags": 4},
+        {"matrix": [3, 5], "x": 80, "y": 48, "flags": 4},
+        {"matrix": [3, 6], "x": 96, "y": 48, "flags": 4},
+        {"matrix": [3, 7], "x": 112, "y": 48, "flags": 4},
+        {"matrix": [3, 8], "x": 128, "y": 48, "flags": 4},
+        {"matrix": [3, 9], "x": 144, "y": 48, "flags": 4},
+        {"matrix": [3, 10], "x": 160, "y": 48, "flags": 4},
+        {"matrix": [3, 11], "x": 176, "y": 48, "flags": 4},
+        {"matrix": [3, 12], "x": 192, "y": 48, "flags": 4},
+        {"matrix": [3, 14], "x": 224, "y": 48, "flags": 1},
+        {"matrix": [4, 1], "x": 16, "y": 64, "flags": 1},
+        {"matrix": [4, 3], "x": 48, "y": 64, "flags": 1},
+        {"matrix": [4, 5], "x": 80, "y": 64, "flags": 4},
+        {"matrix": [4, 6], "x": 96, "y": 64, "flags": 1},
+        {"matrix": [4, 8], "x": 128, "y": 64, "flags": 4},
+        {"matrix": [4, 10], "x": 160, "y": 64, "flags": 1},
+        {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1}
+    ],
     "sleep": true
   },
   "build": {