Browse Source

Migrate `g_led_config` to DD (QR) (#25623)

Jack Sangdahl 10 months ago
parent
commit
d17671cd23

+ 49 - 0
keyboards/quarkeys/z40/keyboard.json

@@ -29,6 +29,55 @@
             "solid_multisplash": true
         },
         "driver": "ws2812",
+        "layout": [
+            {"matrix": [3, 11], "x": 225, "y": 64, "flags": 1},
+            {"matrix": [3, 10], "x": 200, "y": 64, "flags": 1},
+            {"matrix": [3, 9], "x": 180, "y": 64, "flags": 1},
+            {"matrix": [3, 8], "x": 160, "y": 64, "flags": 1},
+            {"matrix": [3, 7], "x": 140, "y": 64, "flags": 1},
+            {"matrix": [3, 5], "x": 110, "y": 64, "flags": 1},
+            {"matrix": [3, 4], "x": 80, "y": 64, "flags": 1},
+            {"matrix": [3, 3], "x": 60, "y": 64, "flags": 1},
+            {"matrix": [3, 2], "x": 40, "y": 64, "flags": 1},
+            {"matrix": [3, 1], "x": 20, "y": 64, "flags": 1},
+            {"matrix": [3, 0], "x": 0, "y": 64, "flags": 1},
+            {"matrix": [2, 11], "x": 225, "y": 42, "flags": 1},
+            {"matrix": [2, 10], "x": 200, "y": 42, "flags": 2},
+            {"matrix": [2, 9], "x": 180, "y": 42, "flags": 2},
+            {"matrix": [2, 8], "x": 160, "y": 42, "flags": 2},
+            {"matrix": [2, 7], "x": 140, "y": 42, "flags": 2},
+            {"matrix": [2, 6], "x": 120, "y": 42, "flags": 2},
+            {"matrix": [2, 5], "x": 100, "y": 42, "flags": 2},
+            {"matrix": [2, 4], "x": 80, "y": 42, "flags": 2},
+            {"x": 60, "y": 42, "flags": 2},
+            {"matrix": [2, 2], "x": 40, "y": 42, "flags": 2},
+            {"matrix": [2, 1], "x": 20, "y": 42, "flags": 2},
+            {"matrix": [2, 0], "x": 0, "y": 42, "flags": 1},
+            {"matrix": [1, 11], "x": 225, "y": 21, "flags": 1},
+            {"matrix": [1, 10], "x": 200, "y": 21, "flags": 2},
+            {"matrix": [1, 9], "x": 180, "y": 21, "flags": 2},
+            {"matrix": [1, 8], "x": 160, "y": 21, "flags": 2},
+            {"matrix": [1, 7], "x": 140, "y": 21, "flags": 2},
+            {"matrix": [1, 6], "x": 120, "y": 21, "flags": 2},
+            {"matrix": [2, 3], "x": 100, "y": 21, "flags": 2},
+            {"matrix": [1, 4], "x": 80, "y": 21, "flags": 2},
+            {"matrix": [1, 3], "x": 60, "y": 21, "flags": 2},
+            {"matrix": [1, 2], "x": 40, "y": 21, "flags": 2},
+            {"matrix": [1, 1], "x": 20, "y": 21, "flags": 2},
+            {"matrix": [1, 0], "x": 0, "y": 21, "flags": 1},
+            {"matrix": [0, 11], "x": 225, "y": 0, "flags": 1},
+            {"matrix": [0, 10], "x": 200, "y": 0, "flags": 2},
+            {"matrix": [0, 9], "x": 180, "y": 0, "flags": 2},
+            {"matrix": [0, 8], "x": 160, "y": 0, "flags": 2},
+            {"matrix": [0, 7], "x": 140, "y": 0, "flags": 2},
+            {"matrix": [0, 6], "x": 120, "y": 0, "flags": 2},
+            {"matrix": [0, 5], "x": 100, "y": 0, "flags": 2},
+            {"matrix": [0, 4], "x": 80, "y": 0, "flags": 2},
+            {"matrix": [0, 3], "x": 60, "y": 0, "flags": 2},
+            {"matrix": [0, 2], "x": 40, "y": 0, "flags": 2},
+            {"matrix": [0, 1], "x": 20, "y": 0, "flags": 2},
+            {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}
+        ],
         "sat_steps": 8,
         "val_steps": 8,
         "speed_steps": 10,

+ 0 - 44
keyboards/quarkeys/z40/z40.c

@@ -1,44 +0,0 @@
-/* 
-/ Copyright 2022 quarkeys
-/ 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
-    /*
-        { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B }, \
-        { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B }, \
-        { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B }, \
-        { k30, k31, k32, k33, k34, k35, XXX, k36, k37, k38, k39, k3A }\
-    */
-        { 46,     45,     44,     43,     42,     41,     40,     39,     38,     37,     36,     35      },
-        { 34,     33,     32,     31,     30,     29,     28,     27,     26,     25,     24,     23      },
-        { 22,     21,     20,     29,     18,     17,     16,     15,     14,     13,     12,     11      },
-        { 10,      9,      8,      7,      6,      5, NO_LED,      4,      3,      2,      1,      0      }
-  }, 
-  {  // Index to Physical Position
-      {225, 64}, {200, 64}, {180, 64}, {160, 64}, {140, 64},            {110, 64}, { 80, 64}, { 60, 64}, { 40, 64}, { 20, 64}, {  0, 64},
-      {225, 42}, {200, 42}, {180, 42}, {160, 42}, {140, 42}, {120, 42}, {100, 42}, { 80, 42}, { 60, 42}, { 40, 42}, { 20, 42}, {  0, 42},
-      {225, 21}, {200, 21}, {180, 21}, {160, 21}, {140, 21}, {120, 21}, {100, 21}, { 80, 21}, { 60, 21}, { 40, 21}, { 20, 21}, {  0, 21},
-      {225,  0}, {200,  0}, {180,  0}, {160,  0}, {140,  0}, {120,  0}, {100,  0}, { 80,  0}, { 60,  0}, { 40,  0}, { 20,  0}, {  0,  0}
-  }, 
-  {
-      1, 1, 1, 1, 1,    1, 1, 1, 1, 1, 1,
-      1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1,
-      1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1,
-      1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1
-  } 
-};
-#endif

+ 100 - 0
keyboards/rgbkb/mun/rev1/keyboard.json

@@ -88,6 +88,106 @@
         },
         "center_point": [128, 34],
         "driver": "ws2812",
+        "layout": [
+            {"matrix": [0, 0], "x": 16, "y": 16, "flags": 1},
+            {"matrix": [0, 1], "x": 34, "y": 16, "flags": 4},
+            {"matrix": [0, 2], "x": 49, "y": 16, "flags": 4},
+            {"matrix": [0, 3], "x": 64, "y": 16, "flags": 4},
+            {"matrix": [0, 4], "x": 79, "y": 16, "flags": 4},
+            {"matrix": [0, 5], "x": 94, "y": 16, "flags": 4},
+            {"matrix": [0, 6], "x": 109, "y": 16, "flags": 4},
+            {"matrix": [1, 6], "x": 109, "y": 31, "flags": 4},
+            {"matrix": [1, 5], "x": 94, "y": 31, "flags": 4},
+            {"matrix": [1, 4], "x": 79, "y": 31, "flags": 4},
+            {"matrix": [1, 3], "x": 64, "y": 31, "flags": 4},
+            {"matrix": [1, 2], "x": 49, "y": 31, "flags": 4},
+            {"matrix": [1, 1], "x": 34, "y": 31, "flags": 4},
+            {"matrix": [1, 0], "x": 16, "y": 31, "flags": 1},
+            {"matrix": [2, 0], "x": 16, "y": 46, "flags": 1},
+            {"matrix": [2, 1], "x": 34, "y": 46, "flags": 4},
+            {"matrix": [2, 2], "x": 49, "y": 46, "flags": 4},
+            {"matrix": [2, 3], "x": 64, "y": 46, "flags": 4},
+            {"matrix": [2, 4], "x": 79, "y": 46, "flags": 4},
+            {"matrix": [2, 5], "x": 94, "y": 46, "flags": 4},
+            {"matrix": [2, 6], "x": 109, "y": 46, "flags": 4},
+            {"matrix": [3, 6], "x": 109, "y": 61, "flags": 4},
+            {"matrix": [3, 5], "x": 94, "y": 61, "flags": 4},
+            {"matrix": [3, 4], "x": 79, "y": 61, "flags": 4},
+            {"matrix": [3, 3], "x": 64, "y": 61, "flags": 4},
+            {"matrix": [3, 2], "x": 49, "y": 61, "flags": 4},
+            {"matrix": [3, 1], "x": 34, "y": 61, "flags": 4},
+            {"matrix": [3, 0], "x": 16, "y": 61, "flags": 1},
+            {"matrix": [4, 0], "x": 16, "y": 76, "flags": 1},
+            {"matrix": [4, 1], "x": 34, "y": 76, "flags": 1},
+            {"matrix": [4, 2], "x": 49, "y": 76, "flags": 1},
+            {"matrix": [4, 3], "x": 64, "y": 76, "flags": 1},
+            {"matrix": [4, 4], "x": 83, "y": 72, "flags": 1},
+            {"matrix": [4, 5], "x": 98, "y": 72, "flags": 1},
+            {"matrix": [4, 6], "x": 113, "y": 72, "flags": 1},
+            {"x": 97, "y": 5, "flags": 2},
+            {"x": 91, "y": 5, "flags": 2},
+            {"x": 86, "y": 5, "flags": 2},
+            {"x": 80, "y": 5, "flags": 2},
+            {"x": 75, "y": 5, "flags": 2},
+            {"x": 69, "y": 5, "flags": 2},
+            {"x": 63, "y": 5, "flags": 2},
+            {"x": 58, "y": 5, "flags": 2},
+            {"x": 52, "y": 5, "flags": 2},
+            {"x": 46, "y": 5, "flags": 2},
+            {"x": 41, "y": 5, "flags": 2},
+            {"x": 35, "y": 5, "flags": 2},
+            {"x": 30, "y": 5, "flags": 2},
+            {"x": 24, "y": 5, "flags": 2},
+            {"matrix": [7, 0], "x": 240, "y": 16, "flags": 1},
+            {"matrix": [7, 1], "x": 222, "y": 16, "flags": 4},
+            {"matrix": [7, 2], "x": 207, "y": 16, "flags": 4},
+            {"matrix": [7, 3], "x": 192, "y": 16, "flags": 4},
+            {"matrix": [7, 4], "x": 177, "y": 16, "flags": 4},
+            {"matrix": [7, 5], "x": 162, "y": 16, "flags": 4},
+            {"matrix": [7, 6], "x": 147, "y": 16, "flags": 4},
+            {"matrix": [8, 6], "x": 147, "y": 31, "flags": 4},
+            {"matrix": [8, 5], "x": 162, "y": 31, "flags": 4},
+            {"matrix": [8, 4], "x": 177, "y": 31, "flags": 4},
+            {"matrix": [8, 3], "x": 192, "y": 31, "flags": 4},
+            {"matrix": [8, 2], "x": 207, "y": 31, "flags": 4},
+            {"matrix": [8, 1], "x": 222, "y": 31, "flags": 4},
+            {"matrix": [8, 0], "x": 240, "y": 31, "flags": 1},
+            {"matrix": [9, 0], "x": 240, "y": 46, "flags": 1},
+            {"matrix": [9, 1], "x": 222, "y": 46, "flags": 4},
+            {"matrix": [9, 2], "x": 207, "y": 46, "flags": 4},
+            {"matrix": [9, 3], "x": 192, "y": 46, "flags": 4},
+            {"matrix": [9, 4], "x": 177, "y": 46, "flags": 4},
+            {"matrix": [9, 5], "x": 162, "y": 46, "flags": 4},
+            {"matrix": [9, 6], "x": 147, "y": 46, "flags": 4},
+            {"matrix": [10, 6], "x": 147, "y": 61, "flags": 4},
+            {"matrix": [10, 5], "x": 162, "y": 61, "flags": 4},
+            {"matrix": [10, 4], "x": 177, "y": 61, "flags": 4},
+            {"matrix": [10, 3], "x": 192, "y": 61, "flags": 4},
+            {"matrix": [10, 2], "x": 207, "y": 61, "flags": 4},
+            {"matrix": [10, 1], "x": 222, "y": 61, "flags": 4},
+            {"matrix": [10, 0], "x": 240, "y": 61, "flags": 1},
+            {"matrix": [11, 0], "x": 240, "y": 76, "flags": 1},
+            {"matrix": [11, 1], "x": 222, "y": 76, "flags": 1},
+            {"matrix": [11, 2], "x": 207, "y": 76, "flags": 1},
+            {"matrix": [11, 3], "x": 192, "y": 76, "flags": 1},
+            {"matrix": [11, 4], "x": 180, "y": 72, "flags": 1},
+            {"matrix": [11, 5], "x": 165, "y": 72, "flags": 1},
+            {"matrix": [11, 6], "x": 150, "y": 72, "flags": 1},
+            {"x": 159, "y": 5, "flags": 2},
+            {"x": 164, "y": 5, "flags": 2},
+            {"x": 170, "y": 5, "flags": 2},
+            {"x": 176, "y": 5, "flags": 2},
+            {"x": 181, "y": 5, "flags": 2},
+            {"x": 187, "y": 5, "flags": 2},
+            {"x": 192, "y": 5, "flags": 2},
+            {"x": 198, "y": 5, "flags": 2},
+            {"x": 204, "y": 5, "flags": 2},
+            {"x": 209, "y": 5, "flags": 2},
+            {"x": 215, "y": 5, "flags": 2},
+            {"x": 221, "y": 5, "flags": 2},
+            {"x": 226, "y": 5, "flags": 2},
+            {"x": 232, "y": 5, "flags": 2}
+        ],
         "led_flush_limit": 33,
         "led_process_limit": 10,
         "sleep": true,

+ 0 - 47
keyboards/rgbkb/mun/rev1/rev1.c

@@ -42,53 +42,6 @@ bool touch_encoder_tapped_kb(uint8_t index, uint8_t section) {
     return false;
 }
 
-#ifdef RGB_MATRIX_ENABLE
-// clang-format off
-led_config_t g_led_config = { {
-    {   0,   1,   2,   3,   4,   5,   6 },
-    {  13,  12,  11,  10,   9,   8,   7 },
-    {  14,  15,  16,  17,  18,  19,  20 },
-    {  27,  26,  25,  24,  23,  22,  21 },
-    {  28,  29,  30,  31,  32,  33,  34 },
-    { 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 },
-    {  49,  50,  51,  52,  53,  54,  55 },
-    {  62,  61,  60,  59,  58,  57,  56 },
-    {  63,  64,  65,  66,  67,  68,  69 },
-    {  76,  75,  74,  73,  72,  71,  70 },
-    {  77,  78,  79,  80,  81,  82,  83 },
-    { 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 }
-}, {
-    {  16,  16},{  34,  16},{  49,  16},{  64,  16},{  79,  16},{  94,  16},{ 109,  16},
-    { 109,  31},{  94,  31},{  79,  31},{  64,  31},{  49,  31},{  34,  31},{  16,  31},
-    {  16,  46},{  34,  46},{  49,  46},{  64,  46},{  79,  46},{  94,  46},{ 109,  46},
-    { 109,  61},{  94,  61},{  79,  61},{  64,  61},{  49,  61},{  34,  61},{  16,  61},
-    {  16,  76},{  34,  76},{  49,  76},{  64,  76},{  83,  72},{  98,  72},{ 113,  72},
-    {  97,   5},{  91,   5},{  86,   5},{  80,   5},{  75,   5},{  69,   5},{  63,   5},{  58,   5},{  52,   5},{  46,   5},{  41,   5},{  35,   5},{  30,   5},{  24,   5},
-    { 240,  16},{ 222,  16},{ 207,  16},{ 192,  16},{ 177,  16},{ 162,  16},{ 147,  16},
-    { 147,  31},{ 162,  31},{ 177,  31},{ 192,  31},{ 207,  31},{ 222,  31},{ 240,  31},
-    { 240,  46},{ 222,  46},{ 207,  46},{ 192,  46},{ 177,  46},{ 162,  46},{ 147,  46},
-    { 147,  61},{ 162,  61},{ 177,  61},{ 192,  61},{ 207,  61},{ 222,  61},{ 240,  61},
-    { 240,  76},{ 222,  76},{ 207,  76},{ 192,  76},{ 180,  72},{ 165,  72},{ 150,  72},
-    { 159,   5},{ 164,   5},{ 170,   5},{ 176,   5},{ 181,   5},{ 187,   5},{ 192,   5},{ 198,   5},{ 204,   5},{ 209,   5},{ 215,   5},{ 221,   5},{ 226,   5},{ 232,   5},
-}, {
-    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,
-    1, 1, 1, 1, 1, 1, 1,
-    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
-    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,
-    1, 1, 1, 1, 1, 1, 1,
-    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
-} };
-// clang-format on
-#endif
-
 void keyboard_post_init_kb(void) {
     touch_encoder_init();
     transaction_register_rpc(TOUCH_ENCODER_SYNC, touch_encoder_slave_sync);

+ 73 - 1
keyboards/rgbkb/sol/rev1/keyboard.json

@@ -63,7 +63,79 @@
             "solid_multisplash": true
         },
         "center_point": [112, 35],
-        "driver": "ws2812"
+        "driver": "ws2812",
+        "layout": [
+            {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
+            {"matrix": [0, 1], "x": 21, "y": 0, "flags": 4},
+            {"matrix": [0, 2], "x": 38, "y": 0, "flags": 4},
+            {"matrix": [0, 3], "x": 56, "y": 0, "flags": 4},
+            {"matrix": [0, 4], "x": 73, "y": 0, "flags": 4},
+            {"matrix": [0, 5], "x": 91, "y": 0, "flags": 4},
+            {"matrix": [0, 6], "x": 112, "y": 0, "flags": 1},
+            {"matrix": [1, 0], "x": 0, "y": 18, "flags": 1},
+            {"matrix": [1, 1], "x": 21, "y": 18, "flags": 4},
+            {"matrix": [1, 2], "x": 38, "y": 18, "flags": 4},
+            {"matrix": [1, 3], "x": 56, "y": 18, "flags": 4},
+            {"matrix": [1, 4], "x": 73, "y": 18, "flags": 4},
+            {"matrix": [1, 5], "x": 91, "y": 18, "flags": 4},
+            {"matrix": [1, 6], "x": 108, "y": 13, "flags": 1},
+            {"matrix": [2, 0], "x": 0, "y": 35, "flags": 1},
+            {"matrix": [2, 1], "x": 21, "y": 35, "flags": 4},
+            {"matrix": [2, 2], "x": 38, "y": 35, "flags": 4},
+            {"matrix": [2, 3], "x": 56, "y": 35, "flags": 4},
+            {"matrix": [2, 4], "x": 73, "y": 35, "flags": 4},
+            {"matrix": [2, 5], "x": 91, "y": 35, "flags": 4},
+            {"matrix": [2, 6], "x": 108, "y": 31, "flags": 1},
+            {"matrix": [3, 0], "x": 0, "y": 52, "flags": 1},
+            {"matrix": [3, 1], "x": 21, "y": 52, "flags": 4},
+            {"matrix": [3, 2], "x": 38, "y": 52, "flags": 4},
+            {"matrix": [3, 3], "x": 56, "y": 52, "flags": 4},
+            {"matrix": [3, 4], "x": 73, "y": 52, "flags": 4},
+            {"matrix": [3, 5], "x": 91, "y": 52, "flags": 4},
+            {"matrix": [3, 6], "x": 108, "y": 48, "flags": 1},
+            {"matrix": [4, 0], "x": 0, "y": 70, "flags": 1},
+            {"matrix": [4, 1], "x": 21, "y": 70, "flags": 1},
+            {"matrix": [4, 2], "x": 38, "y": 70, "flags": 1},
+            {"matrix": [4, 3], "x": 56, "y": 70, "flags": 1},
+            {"matrix": [4, 4], "x": 73, "y": 70, "flags": 1},
+            {"matrix": [5, 5], "x": 89, "y": 91, "flags": 1},
+            {"matrix": [5, 6], "x": 101, "y": 103, "flags": 1},
+            {"matrix": [6, 0], "x": 224, "y": 0, "flags": 1},
+            {"matrix": [6, 1], "x": 203, "y": 0, "flags": 4},
+            {"matrix": [6, 2], "x": 186, "y": 0, "flags": 4},
+            {"matrix": [6, 3], "x": 168, "y": 0, "flags": 4},
+            {"matrix": [6, 4], "x": 151, "y": 0, "flags": 4},
+            {"matrix": [6, 5], "x": 133, "y": 0, "flags": 4},
+            {"matrix": [6, 6], "x": 112, "y": 0, "flags": 1},
+            {"matrix": [7, 0], "x": 224, "y": 18, "flags": 1},
+            {"matrix": [7, 1], "x": 203, "y": 18, "flags": 4},
+            {"matrix": [7, 2], "x": 186, "y": 18, "flags": 4},
+            {"matrix": [7, 3], "x": 168, "y": 18, "flags": 4},
+            {"matrix": [7, 4], "x": 151, "y": 18, "flags": 4},
+            {"matrix": [7, 5], "x": 133, "y": 18, "flags": 4},
+            {"matrix": [7, 6], "x": 116, "y": 13, "flags": 1},
+            {"matrix": [8, 0], "x": 224, "y": 35, "flags": 1},
+            {"matrix": [8, 1], "x": 203, "y": 35, "flags": 4},
+            {"matrix": [8, 2], "x": 186, "y": 35, "flags": 4},
+            {"matrix": [8, 3], "x": 168, "y": 35, "flags": 4},
+            {"matrix": [8, 4], "x": 151, "y": 35, "flags": 4},
+            {"matrix": [8, 5], "x": 133, "y": 35, "flags": 4},
+            {"matrix": [8, 6], "x": 116, "y": 31, "flags": 1},
+            {"matrix": [9, 0], "x": 224, "y": 52, "flags": 1},
+            {"matrix": [9, 1], "x": 203, "y": 52, "flags": 4},
+            {"matrix": [9, 2], "x": 186, "y": 52, "flags": 4},
+            {"matrix": [9, 3], "x": 168, "y": 52, "flags": 4},
+            {"matrix": [9, 4], "x": 151, "y": 52, "flags": 4},
+            {"matrix": [9, 5], "x": 133, "y": 52, "flags": 4},
+            {"matrix": [9, 6], "x": 116, "y": 48, "flags": 1},
+            {"matrix": [10, 0], "x": 224, "y": 70, "flags": 1},
+            {"matrix": [10, 1], "x": 203, "y": 70, "flags": 1},
+            {"matrix": [10, 2], "x": 186, "y": 70, "flags": 1},
+            {"matrix": [10, 3], "x": 168, "y": 70, "flags": 1},
+            {"matrix": [10, 4], "x": 151, "y": 70, "flags": 1},
+            {"matrix": [11, 6], "x": 135, "y": 91, "flags": 1},
+            {"x": 123, "y": 103, "flags": 1}
+        ]
     },
     "rgblight": {
         "animations": {

+ 0 - 46
keyboards/rgbkb/sol/rev1/rev1.c

@@ -1,46 +0,0 @@
-#include "sol.h"
-
-#ifdef RGB_MATRIX_ENABLE
-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 },
-    { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED,     33,     34 },
-    {     35,     36,     37,     38,     39,     40,     41 },
-    {     42,     43,     44,     45,     46,     47,     48 },
-    {     49,     50,     51,     52,     53,     54,     55 },
-    {     56,     57,     58,     59,     60,     61,     62 },
-    {     63,     64,     65,     66,     67,     68,     68 },
-    { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED,     68,     68 }
-}, {
-	// Left Hand Mapped Left to Right
-    {   0,   0 }, {  21,   0 }, {  38,   0 }, {  56,   0 }, {  73,   0 }, {  91,   0 }, { 112,   0 },
-    {   0,  18 }, {  21,  18 }, {  38,  18 }, {  56,  18 }, {  73,  18 }, {  91,  18 }, { 108,  13 },
-    {   0,  35 }, {  21,  35 }, {  38,  35 }, {  56,  35 }, {  73,  35 }, {  91,  35 }, { 108,  31 },
-    {   0,  52 }, {  21,  52 }, {  38,  52 }, {  56,  52 }, {  73,  52 }, {  91,  52 }, { 108,  48 },
-    {   0,  70 }, {  21,  70 }, {  38,  70 }, {  56,  70 }, {  73,  70 }, {  89,  91 }, { 101, 103 },
-	// Left Hand Mapped Right to Left
-    { 224,   0 }, { 203,   0 }, { 186,   0 }, { 168,   0 }, { 151,   0 }, { 133,   0 }, { 112,   0 },
-    { 224,  18 }, { 203,  18 }, { 186,  18 }, { 168,  18 }, { 151,  18 }, { 133,  18 }, { 116,  13 },
-    { 224,  35 }, { 203,  35 }, { 186,  35 }, { 168,  35 }, { 151,  35 }, { 133,  35 }, { 116,  31 },
-    { 224,  52 }, { 203,  52 }, { 186,  52 }, { 168,  52 }, { 151,  52 }, { 133,  52 }, { 116,  48 },
-    { 224,  70 }, { 203,  70 }, { 186,  70 }, { 168,  70 }, { 151,  70 }, { 135,  91 }, { 123, 103 },
-}, {
-	// Left Hand Mapped Left to Right
-    1, 4, 4, 4, 4, 4, 1,
-    1, 4, 4, 4, 4, 4, 1,
-    1, 4, 4, 4, 4, 4, 1,
-    1, 4, 4, 4, 4, 4, 1,
-    1, 1, 1, 1, 1, 1, 1,
-	// Left Hand Mapped Right to Left
-    1, 4, 4, 4, 4, 4, 1,
-    1, 4, 4, 4, 4, 4, 1,
-    1, 4, 4, 4, 4, 4, 1,
-    1, 4, 4, 4, 4, 4, 1,
-    1, 1, 1, 1, 1, 1, 1
-} };
-
-#endif
-

+ 158 - 0
keyboards/rgbkb/sol3/rev1/keyboard.json

@@ -96,6 +96,164 @@
         },
         "center_point": [81, 28],
         "driver": "ws2812",
+        "layout": [
+            {"x": 1, "y": 6, "flags": 2},
+            {"x": 1, "y": 13, "flags": 2},
+            {"x": 1, "y": 19, "flags": 2},
+            {"x": 1, "y": 25, "flags": 2},
+            {"x": 1, "y": 31, "flags": 2},
+            {"x": 1, "y": 37, "flags": 2},
+            {"x": 1, "y": 43, "flags": 2},
+            {"x": 1, "y": 49, "flags": 2},
+            {"x": 4, "y": 52, "flags": 2},
+            {"x": 11, "y": 52, "flags": 2},
+            {"x": 17, "y": 52, "flags": 2},
+            {"x": 23, "y": 52, "flags": 2},
+            {"x": 29, "y": 52, "flags": 2},
+            {"x": 35, "y": 52, "flags": 2},
+            {"x": 41, "y": 54, "flags": 2},
+            {"x": 46, "y": 57, "flags": 2},
+            {"x": 52, "y": 60, "flags": 2},
+            {"x": 57, "y": 63, "flags": 2},
+            {"x": 62, "y": 66, "flags": 2},
+            {"x": 68, "y": 69, "flags": 2},
+            {"x": 73, "y": 67, "flags": 2},
+            {"x": 76, "y": 62, "flags": 2},
+            {"x": 79, "y": 57, "flags": 2},
+            {"x": 78, "y": 51, "flags": 2},
+            {"x": 77, "y": 45, "flags": 2},
+            {"x": 76, "y": 39, "flags": 2},
+            {"x": 76, "y": 33, "flags": 2},
+            {"x": 76, "y": 27, "flags": 2},
+            {"x": 76, "y": 21, "flags": 2},
+            {"x": 76, "y": 14, "flags": 2},
+            {"x": 76, "y": 8, "flags": 2},
+            {"x": 72, "y": 3, "flags": 2},
+            {"x": 59, "y": 3, "flags": 2},
+            {"x": 53, "y": 3, "flags": 2},
+            {"x": 46, "y": 3, "flags": 2},
+            {"x": 40, "y": 3, "flags": 2},
+            {"x": 34, "y": 3, "flags": 2},
+            {"x": 28, "y": 3, "flags": 2},
+            {"x": 22, "y": 3, "flags": 2},
+            {"x": 10, "y": 3, "flags": 2},
+            {"x": 3, "y": 3, "flags": 2},
+            {"matrix": [0, 0], "x": 9, "y": 6, "flags": 1},
+            {"matrix": [0, 1], "x": 21, "y": 6, "flags": 4},
+            {"matrix": [0, 2], "x": 30, "y": 6, "flags": 4},
+            {"matrix": [0, 3], "x": 40, "y": 6, "flags": 4},
+            {"matrix": [0, 4], "x": 49, "y": 6, "flags": 4},
+            {"matrix": [0, 5], "x": 59, "y": 6, "flags": 4},
+            {"matrix": [0, 6], "x": 71, "y": 6, "flags": 1},
+            {"matrix": [1, 6], "x": 71, "y": 16, "flags": 1},
+            {"matrix": [1, 5], "x": 59, "y": 16, "flags": 4},
+            {"matrix": [1, 4], "x": 49, "y": 16, "flags": 4},
+            {"matrix": [1, 3], "x": 40, "y": 16, "flags": 4},
+            {"matrix": [1, 2], "x": 30, "y": 16, "flags": 4},
+            {"matrix": [1, 1], "x": 21, "y": 16, "flags": 4},
+            {"matrix": [1, 0], "x": 9, "y": 16, "flags": 1},
+            {"matrix": [2, 0], "x": 9, "y": 25, "flags": 1},
+            {"matrix": [2, 1], "x": 21, "y": 25, "flags": 4},
+            {"matrix": [2, 2], "x": 30, "y": 25, "flags": 4},
+            {"matrix": [2, 3], "x": 40, "y": 25, "flags": 4},
+            {"matrix": [2, 4], "x": 49, "y": 25, "flags": 4},
+            {"matrix": [2, 5], "x": 59, "y": 25, "flags": 4},
+            {"matrix": [2, 6], "x": 71, "y": 25, "flags": 1},
+            {"matrix": [3, 6], "x": 71, "y": 35, "flags": 1},
+            {"matrix": [3, 5], "x": 59, "y": 35, "flags": 4},
+            {"matrix": [3, 4], "x": 49, "y": 35, "flags": 4},
+            {"matrix": [3, 3], "x": 40, "y": 35, "flags": 4},
+            {"matrix": [3, 2], "x": 30, "y": 35, "flags": 4},
+            {"matrix": [3, 1], "x": 21, "y": 35, "flags": 4},
+            {"matrix": [3, 0], "x": 9, "y": 35, "flags": 1},
+            {"matrix": [4, 0], "x": 9, "y": 44, "flags": 1},
+            {"matrix": [4, 1], "x": 21, "y": 44, "flags": 1},
+            {"matrix": [4, 2], "x": 30, "y": 44, "flags": 1},
+            {"matrix": [4, 3], "x": 40, "y": 44, "flags": 1},
+            {"matrix": [4, 4], "x": 49, "y": 44, "flags": 1},
+            {"matrix": [4, 5], "x": 66, "y": 50, "flags": 1},
+            {"matrix": [4, 6], "x": 75, "y": 54, "flags": 1},
+            {"matrix": [4, 7], "x": 70, "y": 62, "flags": 1},
+            {"x": 60, "y": 60, "flags": 1},
+            {"x": 160, "y": 6, "flags": 2},
+            {"x": 160, "y": 13, "flags": 2},
+            {"x": 160, "y": 19, "flags": 2},
+            {"x": 160, "y": 25, "flags": 2},
+            {"x": 160, "y": 31, "flags": 2},
+            {"x": 160, "y": 37, "flags": 2},
+            {"x": 160, "y": 43, "flags": 2},
+            {"x": 160, "y": 49, "flags": 2},
+            {"x": 157, "y": 52, "flags": 2},
+            {"x": 151, "y": 52, "flags": 2},
+            {"x": 145, "y": 52, "flags": 2},
+            {"x": 138, "y": 52, "flags": 2},
+            {"x": 132, "y": 52, "flags": 2},
+            {"x": 126, "y": 52, "flags": 2},
+            {"x": 120, "y": 54, "flags": 2},
+            {"x": 115, "y": 57, "flags": 2},
+            {"x": 110, "y": 60, "flags": 2},
+            {"x": 105, "y": 63, "flags": 2},
+            {"x": 99, "y": 66, "flags": 2},
+            {"x": 94, "y": 69, "flags": 2},
+            {"x": 89, "y": 67, "flags": 2},
+            {"x": 86, "y": 62, "flags": 2},
+            {"x": 83, "y": 57, "flags": 2},
+            {"x": 83, "y": 51, "flags": 2},
+            {"x": 85, "y": 45, "flags": 2},
+            {"x": 86, "y": 39, "flags": 2},
+            {"x": 86, "y": 33, "flags": 2},
+            {"x": 86, "y": 27, "flags": 2},
+            {"x": 86, "y": 21, "flags": 2},
+            {"x": 86, "y": 14, "flags": 2},
+            {"x": 86, "y": 8, "flags": 2},
+            {"x": 90, "y": 3, "flags": 2},
+            {"x": 103, "y": 3, "flags": 2},
+            {"x": 109, "y": 3, "flags": 2},
+            {"x": 115, "y": 3, "flags": 2},
+            {"x": 121, "y": 3, "flags": 2},
+            {"x": 127, "y": 3, "flags": 2},
+            {"x": 133, "y": 3, "flags": 2},
+            {"x": 140, "y": 3, "flags": 2},
+            {"x": 152, "y": 3, "flags": 2},
+            {"x": 158, "y": 3, "flags": 2},
+            {"matrix": [6, 0], "x": 153, "y": 6, "flags": 1},
+            {"matrix": [6, 1], "x": 141, "y": 6, "flags": 4},
+            {"matrix": [6, 2], "x": 131, "y": 6, "flags": 4},
+            {"matrix": [6, 3], "x": 122, "y": 6, "flags": 4},
+            {"matrix": [6, 4], "x": 112, "y": 6, "flags": 4},
+            {"matrix": [6, 5], "x": 103, "y": 6, "flags": 4},
+            {"matrix": [6, 6], "x": 91, "y": 6, "flags": 1},
+            {"matrix": [7, 6], "x": 91, "y": 16, "flags": 1},
+            {"matrix": [7, 5], "x": 103, "y": 16, "flags": 4},
+            {"matrix": [7, 4], "x": 112, "y": 16, "flags": 4},
+            {"matrix": [7, 3], "x": 122, "y": 16, "flags": 4},
+            {"matrix": [7, 2], "x": 131, "y": 16, "flags": 4},
+            {"matrix": [7, 1], "x": 141, "y": 16, "flags": 4},
+            {"matrix": [7, 0], "x": 153, "y": 16, "flags": 1},
+            {"matrix": [8, 0], "x": 153, "y": 25, "flags": 1},
+            {"matrix": [8, 1], "x": 141, "y": 25, "flags": 4},
+            {"matrix": [8, 2], "x": 131, "y": 25, "flags": 4},
+            {"matrix": [8, 3], "x": 122, "y": 25, "flags": 4},
+            {"matrix": [8, 4], "x": 112, "y": 25, "flags": 4},
+            {"matrix": [8, 5], "x": 103, "y": 25, "flags": 4},
+            {"matrix": [8, 6], "x": 91, "y": 25, "flags": 1},
+            {"matrix": [9, 6], "x": 91, "y": 35, "flags": 1},
+            {"matrix": [9, 5], "x": 103, "y": 35, "flags": 4},
+            {"matrix": [9, 4], "x": 112, "y": 35, "flags": 4},
+            {"matrix": [9, 3], "x": 122, "y": 35, "flags": 4},
+            {"matrix": [9, 2], "x": 131, "y": 35, "flags": 4},
+            {"matrix": [9, 1], "x": 141, "y": 35, "flags": 4},
+            {"matrix": [9, 0], "x": 153, "y": 35, "flags": 1},
+            {"matrix": [10, 0], "x": 153, "y": 44, "flags": 1},
+            {"matrix": [10, 1], "x": 141, "y": 44, "flags": 1},
+            {"matrix": [10, 2], "x": 131, "y": 44, "flags": 1},
+            {"matrix": [10, 3], "x": 122, "y": 44, "flags": 1},
+            {"matrix": [10, 4], "x": 112, "y": 44, "flags": 1},
+            {"matrix": [10, 5], "x": 96, "y": 50, "flags": 1},
+            {"matrix": [10, 6], "x": 87, "y": 54, "flags": 1},
+            {"matrix": [10, 7], "x": 92, "y": 62, "flags": 1},
+            {"x": 102, "y": 60, "flags": 1}
+        ],
         "led_flush_limit": 33,
         "led_process_limit": 10,
         "sleep": true,

+ 0 - 57
keyboards/rgbkb/sol3/rev1/rev1.c

@@ -81,63 +81,6 @@ void matrix_slave_scan_kb(void) {
 }
 
 #ifdef RGB_MATRIX_ENABLE
-// clang-format off
-led_config_t g_led_config = { {
-    {  41,  42,  43,  44,  45,  46,  47, NO_LED },
-    {  54,  53,  52,  51,  50,  49,  48, NO_LED },
-    {  55,  56,  57,  58,  59,  60,  61, NO_LED },
-    {  68,  67,  66,  65,  64,  63,  62, NO_LED },
-    {  69,  70,  71,  72,  73,  74,  75,  76 },
-    {  NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
-    { 119, 120, 121, 122, 123, 124, 125, NO_LED  },
-    { 132, 131, 130, 129, 128, 127, 126, NO_LED  },
-    { 133, 134, 135, 136, 137, 138, 139, NO_LED  },
-    { 146, 145, 144, 143, 142, 141, 140, NO_LED  },
-    { 147, 148, 149, 150, 151, 152, 153, 154 },
-    {  NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }
-}, { // ALL XY VALUES DIVIDE BY 2, THEN ADD 5
-    {   1,   6 }, {   1,  13 }, {   1,  19 }, {   1,  25 }, {   1,  31 }, {   1,  37 }, {   1,  43 }, {   1,  49 }, {   4,  52 }, {  11,  52 },
-    {  17,  52 }, {  23,  52 }, {  29,  52 }, {  35,  52 }, {  41,  54 }, {  46,  57 }, {  52,  60 }, {  57,  63 }, {  62,  66 }, {  68,  69 },
-    {  73,  67 }, {  76,  62 }, {  79,  57 }, {  78,  51 }, {  77,  45 }, {  76,  39 }, {  76,  33 }, {  76,  27 }, {  76,  21 }, {  76,  14 },
-    {  76,   8 }, {  72,   3 }, {  59,   3 }, {  53,   3 }, {  46,   3 }, {  40,   3 }, {  34,   3 }, {  28,   3 }, {  22,   3 }, {  10,   3 }, {   3,   3 },
-    {   9,   6 }, {  21,   6 }, {  30,   6 }, {  40,   6 }, {  49,   6 }, {  59,   6 }, {  71,   6 },
-    {  71,  16 }, {  59,  16 }, {  49,  16 }, {  40,  16 }, {  30,  16 }, {  21,  16 }, {   9,  16 },
-    {   9,  25 }, {  21,  25 }, {  30,  25 }, {  40,  25 }, {  49,  25 }, {  59,  25 }, {  71,  25 },
-    {  71,  35 }, {  59,  35 }, {  49,  35 }, {  40,  35 }, {  30,  35 }, {  21,  35 }, {   9,  35 },
-    {   9,  44 }, {  21,  44 }, {  30,  44 }, {  40,  44 }, {  49,  44 }, {  66,  50 }, {  75,  54 }, {  70,  62 }, {  60,  60 },
-
-    { 160,   6 }, { 160,  13 }, { 160,  19 }, { 160,  25 }, { 160,  31 }, { 160,  37 }, { 160,  43 }, { 160,  49 }, { 157,  52 }, { 151,  52 },
-    { 145,  52 }, { 138,  52 }, { 132,  52 }, { 126,  52 }, { 120,  54 }, { 115,  57 }, { 110,  60 }, { 105,  63 }, {  99,  66 }, {  94,  69 },
-    {  89,  67 }, {  86,  62 }, {  83,  57 }, {  83,  51 }, {  85,  45 }, {  86,  39 }, {  86,  33 }, {  86,  27 }, {  86,  21 }, {  86,  14 },
-    {  86,   8 }, {  90,   3 }, { 103,   3 }, { 109,   3 }, { 115,   3 }, { 121,   3 }, { 127,   3 }, { 133,   3 }, { 140,   3 }, { 152,   3 }, { 158,   3 },
-    { 153,   6 }, { 141,   6 }, { 131,   6 }, { 122,   6 }, { 112,   6 }, { 103,   6 }, {  91,   6 },
-    {  91,  16 }, { 103,  16 }, { 112,  16 }, { 122,  16 }, { 131,  16 }, { 141,  16 }, { 153,  16 },
-    { 153,  25 }, { 141,  25 }, { 131,  25 }, { 122,  25 }, { 112,  25 }, { 103,  25 }, {  91,  25 },
-    {  91,  35 }, { 103,  35 }, { 112,  35 }, { 122,  35 }, { 131,  35 }, { 141,  35 }, { 153,  35 },
-    { 153,  44 }, { 141,  44 }, { 131,  44 }, { 122,  44 }, { 112,  44 }, {  96,  50 }, {  87,  54 }, {  92,  62 }, { 102,  60 },
-}, {
-    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,
-    1, 4, 4, 4, 4, 4, 1,
-    1, 4, 4, 4, 4, 4, 1,
-    1, 4, 4, 4, 4, 4, 1,
-    1, 4, 4, 4, 4, 4, 1,
-    1, 1, 1, 1, 1, 1, 1, 1, 1,
-
-    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,
-    1, 4, 4, 4, 4, 4, 1,
-    1, 4, 4, 4, 4, 4, 1,
-    1, 4, 4, 4, 4, 4, 1,
-    1, 4, 4, 4, 4, 4, 1,
-    1, 1, 1, 1, 1, 1, 1, 1, 1
-} };
-// clang-format on
-
 void rgb_matrix_increase_flags(void)
 {
     switch (rgb_matrix_get_flags()) {