summaryrefslogtreecommitdiff
path: root/keyboards/handwired
diff options
context:
space:
mode:
authorJack Sangdahl <jack@pngu.org>2025-09-09 03:04:40 -0600
committerGitHub <noreply@github.com>2025-09-09 10:04:40 +0100
commit177ff71d0c727632ff30e2d0bc066b9214177096 (patch)
tree99beb7b657151a507fd93cf3e9d2e834aa1b498d /keyboards/handwired
parentc1b428bb4e4d2ecf4b904c8e4886d8e8e37602c7 (diff)
Migrate `g_led_config` to DD (H) (#25599)
Diffstat (limited to 'keyboards/handwired')
-rw-r--r--keyboards/handwired/colorlice/colorlice.c39
-rw-r--r--keyboards/handwired/colorlice/keyboard.json71
-rw-r--r--keyboards/handwired/dygma/raise/ansi/ansi.c41
-rw-r--r--keyboards/handwired/dygma/raise/ansi/keyboard.json136
-rw-r--r--keyboards/handwired/dygma/raise/iso/iso.c39
-rw-r--r--keyboards/handwired/dygma/raise/iso/keyboard.json136
-rw-r--r--keyboards/handwired/hnah108/hnah108.c47
-rw-r--r--keyboards/handwired/hnah108/keyboard.json34
-rw-r--r--keyboards/handwired/hnah40rgb/hnah40rgb.c47
-rw-r--r--keyboards/handwired/hnah40rgb/keyboard.json52
-rw-r--r--keyboards/handwired/hnah40rgb/keymaps/ansi/config.h18
-rw-r--r--keyboards/handwired/orbweaver/keyboard.json25
-rw-r--r--keyboards/handwired/orbweaver/orbweaver.c53
-rw-r--r--keyboards/handwired/tractyl_manuform/4x6_right/4x6_right.c33
-rw-r--r--keyboards/handwired/tractyl_manuform/4x6_right/keyboard.json56
15 files changed, 518 insertions, 309 deletions
diff --git a/keyboards/handwired/colorlice/colorlice.c b/keyboards/handwired/colorlice/colorlice.c
deleted file mode 100644
index 81e87d8c7a..0000000000
--- a/keyboards/handwired/colorlice/colorlice.c
+++ /dev/null
@@ -1,39 +0,0 @@
1/* Copyright 2019 marhalloweenvt
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include "quantum.h"
18
19#ifdef RGB_MATRIX_ENABLE
20led_config_t g_led_config = { {
21 { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 },
22 { 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, NO_LED },
23 { 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, NO_LED, 44, NO_LED },
24 { 58, 57, 56, 55, 54, 53, NO_LED, 52, 51, 50, 49, 48, 47, 46, 45, NO_LED},
25 { 59, NO_LED, 60, 61, 62, NO_LED, NO_LED,63, NO_LED, NO_LED, 64, 65,66,67, 68, NO_LED }
26}, {
27 { 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 }, { 195, 0 }, { 210, 0 }, { 224, 0 },
28 { 224, 16 }, { 210, 16 }, { 195, 16 }, { 180, 16 }, { 165, 16 }, { 150, 16 }, { 135, 16 }, { 120, 16 }, { 90, 16 }, { 75, 16 }, { 60, 16 }, { 45, 16 }, { 30, 16 }, { 15, 16 }, { 0, 16 },
29 { 0, 32 }, { 15, 32 }, { 30, 32 }, { 45, 32 }, { 60, 32 }, { 75, 32 }, { 90, 32 }, { 135, 32 }, { 150, 32 }, { 165, 32 }, { 180, 32 }, { 195, 32 }, { 210, 32 }, { 224, 32 },
30 { 225, 48 }, { 224, 48 }, { 210, 48 }, { 195, 48 }, { 180, 48 }, { 165, 48 }, { 150, 48 }, { 135, 48 }, { 90, 48 }, { 75, 48 }, { 60, 48 }, { 45, 48 }, { 30, 48 }, { 15, 48 },
31 { 15, 64 }, { 45, 64 }, { 75, 64 }, { 90, 64 }, { 150, 64 }, { 180, 64 }, { 210, 64 }, { 215, 64 }, { 220, 64 }, { 225, 64 }
32}, {
33 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
34 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
35 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
36 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
37 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
38} };
39#endif
diff --git a/keyboards/handwired/colorlice/keyboard.json b/keyboards/handwired/colorlice/keyboard.json
index b2606afb89..5780f012d5 100644
--- a/keyboards/handwired/colorlice/keyboard.json
+++ b/keyboards/handwired/colorlice/keyboard.json
@@ -57,6 +57,77 @@
57 "solid_multisplash": true 57 "solid_multisplash": true
58 }, 58 },
59 "driver": "ws2812", 59 "driver": "ws2812",
60 "layout": [
61 {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
62 {"matrix": [0, 1], "x": 15, "y": 0, "flags": 1},
63 {"matrix": [0, 2], "x": 30, "y": 0, "flags": 1},
64 {"matrix": [0, 3], "x": 45, "y": 0, "flags": 1},
65 {"matrix": [0, 4], "x": 60, "y": 0, "flags": 1},
66 {"matrix": [0, 5], "x": 75, "y": 0, "flags": 1},
67 {"matrix": [0, 6], "x": 90, "y": 0, "flags": 1},
68 {"matrix": [0, 7], "x": 105, "y": 0, "flags": 1},
69 {"matrix": [0, 8], "x": 120, "y": 0, "flags": 1},
70 {"matrix": [0, 9], "x": 135, "y": 0, "flags": 1},
71 {"matrix": [0, 10], "x": 150, "y": 0, "flags": 1},
72 {"matrix": [0, 11], "x": 165, "y": 0, "flags": 1},
73 {"matrix": [0, 12], "x": 180, "y": 0, "flags": 1},
74 {"matrix": [0, 13], "x": 195, "y": 0, "flags": 1},
75 {"matrix": [0, 14], "x": 210, "y": 0, "flags": 1},
76 {"matrix": [0, 15], "x": 224, "y": 0, "flags": 1},
77 {"matrix": [1, 14], "x": 224, "y": 16, "flags": 1},
78 {"matrix": [1, 13], "x": 210, "y": 16, "flags": 4},
79 {"matrix": [1, 12], "x": 195, "y": 16, "flags": 4},
80 {"matrix": [1, 11], "x": 180, "y": 16, "flags": 4},
81 {"matrix": [1, 10], "x": 165, "y": 16, "flags": 4},
82 {"matrix": [1, 9], "x": 150, "y": 16, "flags": 4},
83 {"matrix": [1, 8], "x": 135, "y": 16, "flags": 4},
84 {"matrix": [1, 7], "x": 120, "y": 16, "flags": 4},
85 {"matrix": [1, 6], "x": 90, "y": 16, "flags": 4},
86 {"matrix": [1, 5], "x": 75, "y": 16, "flags": 4},
87 {"matrix": [1, 4], "x": 60, "y": 16, "flags": 4},
88 {"matrix": [1, 3], "x": 45, "y": 16, "flags": 4},
89 {"matrix": [1, 2], "x": 30, "y": 16, "flags": 4},
90 {"matrix": [1, 1], "x": 15, "y": 16, "flags": 4},
91 {"matrix": [1, 0], "x": 0, "y": 16, "flags": 1},
92 {"matrix": [2, 0], "x": 0, "y": 32, "flags": 1},
93 {"matrix": [2, 1], "x": 15, "y": 32, "flags": 4},
94 {"matrix": [2, 2], "x": 30, "y": 32, "flags": 4},
95 {"matrix": [2, 3], "x": 45, "y": 32, "flags": 4},
96 {"matrix": [2, 4], "x": 60, "y": 32, "flags": 4},
97 {"matrix": [2, 5], "x": 75, "y": 32, "flags": 4},
98 {"matrix": [2, 6], "x": 90, "y": 32, "flags": 4},
99 {"matrix": [2, 7], "x": 135, "y": 32, "flags": 4},
100 {"matrix": [2, 8], "x": 150, "y": 32, "flags": 4},
101 {"matrix": [2, 9], "x": 165, "y": 32, "flags": 4},
102 {"matrix": [2, 10], "x": 180, "y": 32, "flags": 4},
103 {"matrix": [2, 11], "x": 195, "y": 32, "flags": 4},
104 {"matrix": [2, 12], "x": 210, "y": 32, "flags": 4},
105 {"matrix": [2, 14], "x": 224, "y": 32, "flags": 1},
106 {"matrix": [3, 14], "x": 224, "y": 48, "flags": 1},
107 {"matrix": [3, 13], "x": 224, "y": 48, "flags": 4},
108 {"matrix": [3, 12], "x": 210, "y": 48, "flags": 4},
109 {"matrix": [3, 11], "x": 195, "y": 48, "flags": 4},
110 {"matrix": [3, 10], "x": 180, "y": 48, "flags": 4},
111 {"matrix": [3, 9], "x": 165, "y": 48, "flags": 4},
112 {"matrix": [3, 8], "x": 150, "y": 48, "flags": 4},
113 {"matrix": [3, 7], "x": 135, "y": 48, "flags": 4},
114 {"matrix": [3, 5], "x": 90, "y": 48, "flags": 4},
115 {"matrix": [3, 4], "x": 75, "y": 48, "flags": 4},
116 {"matrix": [3, 3], "x": 60, "y": 48, "flags": 4},
117 {"matrix": [3, 2], "x": 45, "y": 48, "flags": 4},
118 {"matrix": [3, 1], "x": 30, "y": 48, "flags": 4},
119 {"matrix": [3, 0], "x": 15, "y": 48, "flags": 1},
120 {"matrix": [4, 0], "x": 15, "y": 64, "flags": 1},
121 {"matrix": [4, 2], "x": 45, "y": 64, "flags": 1},
122 {"matrix": [4, 3], "x": 75, "y": 64, "flags": 1},
123 {"matrix": [4, 4], "x": 90, "y": 64, "flags": 1},
124 {"matrix": [4, 7], "x": 150, "y": 64, "flags": 1},
125 {"matrix": [4, 10], "x": 180, "y": 64, "flags": 1},
126 {"matrix": [4, 11], "x": 210, "y": 64, "flags": 1},
127 {"matrix": [4, 12], "x": 215, "y": 64, "flags": 1},
128 {"matrix": [4, 13], "x": 220, "y": 64, "flags": 1},
129 {"matrix": [4, 14], "x": 224, "y": 64, "flags": 1}
130 ],
60 "led_flush_limit": 26, 131 "led_flush_limit": 26,
61 "led_process_limit": 4, 132 "led_process_limit": 4,
62 "sleep": true 133 "sleep": true
diff --git a/keyboards/handwired/dygma/raise/ansi/ansi.c b/keyboards/handwired/dygma/raise/ansi/ansi.c
index 67b84c3bc8..de2b9dedf6 100644
--- a/keyboards/handwired/dygma/raise/ansi/ansi.c
+++ b/keyboards/handwired/dygma/raise/ansi/ansi.c
@@ -38,44 +38,3 @@ const uint8_t led_map[RGB_MATRIX_LED_COUNT] = {
38 34 + LPH, 35 + LPH, 36 + LPH, 37 + LPH, 38 + LPH, 39 + LPH, 40 + LPH, 41 + LPH, 42 + LPH, 43 + LPH, 44 + LPH, 45 + LPH, 46 + LPH, 47 + LPH, 48 + LPH, 49 + LPH, 50 + LPH, 51 + LPH, 38 34 + LPH, 35 + LPH, 36 + LPH, 37 + LPH, 38 + LPH, 39 + LPH, 40 + LPH, 41 + LPH, 42 + LPH, 43 + LPH, 44 + LPH, 45 + LPH, 46 + LPH, 47 + LPH, 48 + LPH, 49 + LPH, 50 + LPH, 51 + LPH,
39 52 + LPH, 53 + LPH, 54 + LPH, 55 + LPH, 56 + LPH, 57 + LPH, 58 + LPH, 59 + LPH, 60 + LPH, 61 + LPH, 62 + LPH, 63 + LPH, 64 + LPH, 65 + LPH, 0xff 39 52 + LPH, 53 + LPH, 54 + LPH, 55 + LPH, 56 + LPH, 57 + LPH, 58 + LPH, 59 + LPH, 60 + LPH, 61 + LPH, 62 + LPH, 63 + LPH, 64 + LPH, 65 + LPH, 0xff
40}; 40};
41
42// taken from "key_led_map" and reformatted
43// ISO & ANSI (ANSI has no LED at 20, but this key can never be pressed so we can have just one map).
44led_config_t g_led_config = { {
45 // left hand
46 { 0 , 1 , 2 , 3 , 4 , 5 , 6 , NO_LED } ,
47 { 7 , 8 , 9 , 10 , 11 , 12 , NO_LED , NO_LED } ,
48 { 13 , 14 , 15 , 16 , 17 , 18 , NO_LED , NO_LED } ,
49 { 19 , 20 , 21 , 22 , 23 , 24 , 25 , NO_LED } ,
50 { 26 , 27 , 28 , 29 , 30 , NO_LED , 31 , 32 } ,
51
52 // right hand
53 { 33 , 34 , 35 , 36 , 37 , 38 , 39 , NO_LED } ,
54 { 40 , 41 , 42 , 43 , 44 , 45 , 46 , 47 } ,
55 { 48 , 49 , 50 , 51 , 52 , 53 , 54 , NO_LED } ,
56 { 55 , 56 , 57 , 58 , 59 , 60 , NO_LED , NO_LED } ,
57 { 61 , 62 , 63 , 64 , 65 , 66 , 67 , 68 }
58 }, {
59 // generated from the svg image of the keyboard, see create-led-config.js
60 {82, 3}, {88, 3}, {94, 3}, {100, 3}, {106, 3}, {112, 3}, {118, 3}, {84, 10}, {91, 10}, {97, 10}, {103, 10}, {109, 10},
61 {115, 10}, {84, 16}, {92, 16}, {98, 16}, {104, 16}, {110, 16}, {116, 16}, {85, 22},
62 {0, 0},
63 {94, 22}, {100, 22}, {106, 22}, {112, 22}, {118, 22}, {83, 28}, {90, 28}, {98, 28}, {106, 28}, {116, 28}, {111, 34},
64 {118, 34}, {168, 3}, {159, 3}, {153, 3}, {147, 3}, {141, 3}, {135, 3}, {129, 3}, {168, 16}, {162, 10}, {156, 10},
65 {150, 10}, {144, 10}, {139, 10}, {133, 10}, {127, 10}, {170, 10}, {159, 16}, {153, 16}, {147, 16}, {141, 16}, {135, 16},
66 {129, 16}, {166, 22}, {154, 22}, {148, 22}, {142, 22}, {136, 22}, {130, 22}, {170, 28}, {163, 28}, {156, 28}, {149, 28},
67 {140, 28}, {131, 28}, {136, 34}, {128, 34}, {78, 13}, {78, 6}, {80, 0}, {87, 0}, {95, 0}, {103, 0}, {111, 0}, {119, 0},
68 {122, 3}, {121, 9}, {120, 15}, {122, 21}, {123, 27}, {123, 33}, {120, 38}, {116, 42}, {114, 48}, {112, 55}, {109, 61},
69 {103, 64}, {96, 64}, {88, 64}, {81, 63}, {76, 60}, {75, 52}, {75, 46}, {74, 38}, {74, 32}, {75, 27}, {77, 21}, {175, 10},
70 {175, 4}, {172, 0}, {164, 0}, {157, 0}, {149, 0}, {142, 0}, {134, 0}, {127, 0}, {123, 3}, {122, 8}, {122, 15}, {124, 21},
71 {124, 27}, {124, 33}, {126, 38}, {131, 42}, {134, 48}, {135, 55}, {137, 61}, {143, 63}, {150, 63}, {158, 63}, {166, 63},
72 {173, 63}, {177, 59}, {178, 49}, {179, 40}, {179, 31}, {177, 25}, {175, 20}, {175, 15}, {123, 54}
73 }, {
74 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
75 0,
76 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
77 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, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
78 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,
79 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4
80 }
81};
diff --git a/keyboards/handwired/dygma/raise/ansi/keyboard.json b/keyboards/handwired/dygma/raise/ansi/keyboard.json
index 9abe98fdfa..703ae91244 100644
--- a/keyboards/handwired/dygma/raise/ansi/keyboard.json
+++ b/keyboards/handwired/dygma/raise/ansi/keyboard.json
@@ -6,6 +6,142 @@
6 "rgb_matrix": true, 6 "rgb_matrix": true,
7 "raw": true 7 "raw": true
8 }, 8 },
9 "rgb_matrix": {
10 "layout": [
11 {"matrix": [0, 0], "x": 82, "y": 3, "flags": 4},
12 {"matrix": [0, 1], "x": 88, "y": 3, "flags": 4},
13 {"matrix": [0, 2], "x": 94, "y": 3, "flags": 4},
14 {"matrix": [0, 3], "x": 100, "y": 3, "flags": 4},
15 {"matrix": [0, 4], "x": 106, "y": 3, "flags": 4},
16 {"matrix": [0, 5], "x": 112, "y": 3, "flags": 4},
17 {"matrix": [0, 6], "x": 118, "y": 3, "flags": 4},
18 {"matrix": [1, 0], "x": 84, "y": 10, "flags": 4},
19 {"matrix": [1, 1], "x": 91, "y": 10, "flags": 4},
20 {"matrix": [1, 2], "x": 97, "y": 10, "flags": 4},
21 {"matrix": [1, 3], "x": 103, "y": 10, "flags": 4},
22 {"matrix": [1, 4], "x": 109, "y": 10, "flags": 4},
23 {"matrix": [1, 5], "x": 115, "y": 10, "flags": 4},
24 {"matrix": [2, 0], "x": 84, "y": 16, "flags": 4},
25 {"matrix": [2, 1], "x": 92, "y": 16, "flags": 4},
26 {"matrix": [2, 2], "x": 98, "y": 16, "flags": 4},
27 {"matrix": [2, 3], "x": 104, "y": 16, "flags": 4},
28 {"matrix": [2, 4], "x": 110, "y": 16, "flags": 4},
29 {"matrix": [2, 5], "x": 116, "y": 16, "flags": 4},
30 {"matrix": [3, 0], "x": 85, "y": 22, "flags": 4},
31 {"matrix": [3, 1], "x": 0, "y": 0, "flags": 0},
32 {"matrix": [3, 2], "x": 94, "y": 22, "flags": 4},
33 {"matrix": [3, 3], "x": 100, "y": 22, "flags": 4},
34 {"matrix": [3, 4], "x": 106, "y": 22, "flags": 4},
35 {"matrix": [3, 5], "x": 112, "y": 22, "flags": 4},
36 {"matrix": [3, 6], "x": 118, "y": 22, "flags": 4},
37 {"matrix": [4, 0], "x": 83, "y": 28, "flags": 4},
38 {"matrix": [4, 1], "x": 90, "y": 28, "flags": 4},
39 {"matrix": [4, 2], "x": 98, "y": 28, "flags": 4},
40 {"matrix": [4, 3], "x": 106, "y": 28, "flags": 4},
41 {"matrix": [4, 4], "x": 116, "y": 28, "flags": 4},
42 {"matrix": [4, 6], "x": 111, "y": 34, "flags": 4},
43 {"matrix": [4, 7], "x": 118, "y": 34, "flags": 4},
44 {"matrix": [5, 0], "x": 168, "y": 3, "flags": 4},
45 {"matrix": [5, 1], "x": 159, "y": 3, "flags": 4},
46 {"matrix": [5, 2], "x": 153, "y": 3, "flags": 4},
47 {"matrix": [5, 3], "x": 147, "y": 3, "flags": 4},
48 {"matrix": [5, 4], "x": 141, "y": 3, "flags": 4},
49 {"matrix": [5, 5], "x": 135, "y": 3, "flags": 4},
50 {"matrix": [5, 6], "x": 129, "y": 3, "flags": 4},
51 {"matrix": [6, 0], "x": 168, "y": 16, "flags": 4},
52 {"matrix": [6, 1], "x": 162, "y": 10, "flags": 4},
53 {"matrix": [6, 2], "x": 156, "y": 10, "flags": 4},
54 {"matrix": [6, 3], "x": 150, "y": 10, "flags": 4},
55 {"matrix": [6, 4], "x": 144, "y": 10, "flags": 4},
56 {"matrix": [6, 5], "x": 139, "y": 10, "flags": 4},
57 {"matrix": [6, 6], "x": 133, "y": 10, "flags": 4},
58 {"matrix": [6, 7], "x": 127, "y": 10, "flags": 4},
59 {"matrix": [7, 0], "x": 170, "y": 10, "flags": 4},
60 {"matrix": [7, 1], "x": 159, "y": 16, "flags": 4},
61 {"matrix": [7, 2], "x": 153, "y": 16, "flags": 4},
62 {"matrix": [7, 3], "x": 147, "y": 16, "flags": 4},
63 {"matrix": [7, 4], "x": 141, "y": 16, "flags": 4},
64 {"matrix": [7, 5], "x": 135, "y": 16, "flags": 4},
65 {"matrix": [7, 6], "x": 129, "y": 16, "flags": 4},
66 {"matrix": [8, 0], "x": 166, "y": 22, "flags": 4},
67 {"matrix": [8, 1], "x": 154, "y": 22, "flags": 4},
68 {"matrix": [8, 2], "x": 148, "y": 22, "flags": 4},
69 {"matrix": [8, 3], "x": 142, "y": 22, "flags": 4},
70 {"matrix": [8, 4], "x": 136, "y": 22, "flags": 4},
71 {"matrix": [8, 5], "x": 130, "y": 22, "flags": 4},
72 {"matrix": [9, 0], "x": 170, "y": 28, "flags": 4},
73 {"matrix": [9, 1], "x": 163, "y": 28, "flags": 4},
74 {"matrix": [9, 2], "x": 156, "y": 28, "flags": 4},
75 {"matrix": [9, 3], "x": 149, "y": 28, "flags": 4},
76 {"matrix": [9, 4], "x": 140, "y": 28, "flags": 4},
77 {"matrix": [9, 5], "x": 131, "y": 28, "flags": 4},
78 {"matrix": [9, 6], "x": 136, "y": 34, "flags": 4},
79 {"matrix": [9, 7], "x": 128, "y": 34, "flags": 4},
80 {"x": 78, "y": 13, "flags": 2},
81 {"x": 78, "y": 6, "flags": 2},
82 {"x": 80, "y": 0, "flags": 2},
83 {"x": 87, "y": 0, "flags": 2},
84 {"x": 95, "y": 0, "flags": 2},
85 {"x": 103, "y": 0, "flags": 2},
86 {"x": 111, "y": 0, "flags": 2},
87 {"x": 119, "y": 0, "flags": 2},
88 {"x": 122, "y": 3, "flags": 2},
89 {"x": 121, "y": 9, "flags": 2},
90 {"x": 120, "y": 15, "flags": 2},
91 {"x": 122, "y": 21, "flags": 2},
92 {"x": 123, "y": 27, "flags": 2},
93 {"x": 123, "y": 33, "flags": 2},
94 {"x": 120, "y": 38, "flags": 2},
95 {"x": 116, "y": 42, "flags": 2},
96 {"x": 114, "y": 48, "flags": 2},
97 {"x": 112, "y": 55, "flags": 2},
98 {"x": 109, "y": 61, "flags": 2},
99 {"x": 103, "y": 64, "flags": 2},
100 {"x": 96, "y": 64, "flags": 2},
101 {"x": 88, "y": 64, "flags": 2},
102 {"x": 81, "y": 63, "flags": 2},
103 {"x": 76, "y": 60, "flags": 2},
104 {"x": 75, "y": 52, "flags": 2},
105 {"x": 75, "y": 46, "flags": 2},
106 {"x": 74, "y": 38, "flags": 2},
107 {"x": 74, "y": 32, "flags": 2},
108 {"x": 75, "y": 27, "flags": 2},
109 {"x": 77, "y": 21, "flags": 2},
110 {"x": 175, "y": 10, "flags": 2},
111 {"x": 175, "y": 4, "flags": 2},
112 {"x": 172, "y": 0, "flags": 2},
113 {"x": 164, "y": 0, "flags": 2},
114 {"x": 157, "y": 0, "flags": 2},
115 {"x": 149, "y": 0, "flags": 2},
116 {"x": 142, "y": 0, "flags": 2},
117 {"x": 134, "y": 0, "flags": 2},
118 {"x": 127, "y": 0, "flags": 2},
119 {"x": 123, "y": 3, "flags": 2},
120 {"x": 122, "y": 8, "flags": 2},
121 {"x": 122, "y": 15, "flags": 2},
122 {"x": 124, "y": 21, "flags": 2},
123 {"x": 124, "y": 27, "flags": 2},
124 {"x": 124, "y": 33, "flags": 2},
125 {"x": 126, "y": 38, "flags": 2},
126 {"x": 131, "y": 42, "flags": 2},
127 {"x": 134, "y": 48, "flags": 2},
128 {"x": 135, "y": 55, "flags": 2},
129 {"x": 137, "y": 61, "flags": 2},
130 {"x": 143, "y": 63, "flags": 2},
131 {"x": 150, "y": 63, "flags": 2},
132 {"x": 158, "y": 63, "flags": 2},
133 {"x": 166, "y": 63, "flags": 2},
134 {"x": 173, "y": 63, "flags": 2},
135 {"x": 177, "y": 59, "flags": 2},
136 {"x": 178, "y": 49, "flags": 2},
137 {"x": 179, "y": 40, "flags": 2},
138 {"x": 179, "y": 31, "flags": 2},
139 {"x": 177, "y": 25, "flags": 2},
140 {"x": 175, "y": 20, "flags": 2},
141 {"x": 175, "y": 15, "flags": 2},
142 {"x": 123, "y": 54, "flags": 4}
143 ]
144 },
9 "layouts": { 145 "layouts": {
10 "LAYOUT_all": { 146 "LAYOUT_all": {
11 "layout": [ 147 "layout": [
diff --git a/keyboards/handwired/dygma/raise/iso/iso.c b/keyboards/handwired/dygma/raise/iso/iso.c
index 9643af7b8c..247a9646df 100644
--- a/keyboards/handwired/dygma/raise/iso/iso.c
+++ b/keyboards/handwired/dygma/raise/iso/iso.c
@@ -38,42 +38,3 @@ const uint8_t led_map[RGB_MATRIX_LED_COUNT] = {
38 34 + LPH, 35 + LPH, 36 + LPH, 37 + LPH, 38 + LPH, 39 + LPH, 40 + LPH, 41 + LPH, 42 + LPH, 43 + LPH, 44 + LPH, 45 + LPH, 46 + LPH, 47 + LPH, 48 + LPH, 49 + LPH, 50 + LPH, 51 + LPH, 38 34 + LPH, 35 + LPH, 36 + LPH, 37 + LPH, 38 + LPH, 39 + LPH, 40 + LPH, 41 + LPH, 42 + LPH, 43 + LPH, 44 + LPH, 45 + LPH, 46 + LPH, 47 + LPH, 48 + LPH, 49 + LPH, 50 + LPH, 51 + LPH,
39 52 + LPH, 53 + LPH, 54 + LPH, 55 + LPH, 56 + LPH, 57 + LPH, 58 + LPH, 59 + LPH, 60 + LPH, 61 + LPH, 62 + LPH, 63 + LPH, 64 + LPH, 65 + LPH, 0xff 39 52 + LPH, 53 + LPH, 54 + LPH, 55 + LPH, 56 + LPH, 57 + LPH, 58 + LPH, 59 + LPH, 60 + LPH, 61 + LPH, 62 + LPH, 63 + LPH, 64 + LPH, 65 + LPH, 0xff
40}; 40};
41
42// taken from "key_led_map" and reformatted
43// ISO & ANSI (ANSI has no LED at 20, but this key can never be pressed so we can have just one map).
44led_config_t g_led_config = { {
45 // left hand
46 { 0 , 1 , 2 , 3 , 4 , 5 , 6 , NO_LED } ,
47 { 7 , 8 , 9 , 10 , 11 , 12 , NO_LED , NO_LED } ,
48 { 13 , 14 , 15 , 16 , 17 , 18 , NO_LED , NO_LED } ,
49 { 19 , 20 , 21 , 22 , 23 , 24 , 25 , NO_LED } ,
50 { 26 , 27 , 28 , 29 , 30 , NO_LED , 31 , 32 } ,
51
52 // right hand
53 { 33 , 34 , 35 , 36 , 37 , 38 , 39 , NO_LED } ,
54 { 40 , 41 , 42 , 43 , 44 , 45 , 46 , 47 } ,
55 { 48 , 49 , 50 , 51 , 52 , 53 , 54 , NO_LED } ,
56 { 55 , 56 , 57 , 58 , 59 , 60 , NO_LED , NO_LED } ,
57 { 61 , 62 , 63 , 64 , 65 , 66 , 67 , 68 }
58 }, {
59 // generated from the svg image of the keyboard, see create-led-config.js
60 {82, 3}, {88, 3}, {94, 3}, {100, 3}, {106, 3}, {112, 3}, {118, 3}, {84, 10}, {91, 10}, {97, 10}, {103, 10}, {109, 10},
61 {115, 10}, {84, 16}, {92, 16}, {98, 16}, {104, 16}, {110, 16}, {116, 16}, {82, 22}, {88, 22}, {94, 22}, {100, 22},
62 {106, 22}, {112, 22}, {118, 22}, {83, 28}, {90, 28}, {98, 28}, {106, 28}, {116, 28}, {111, 34}, {118, 34}, {168, 3},
63 {159, 3}, {153, 3}, {147, 3}, {141, 3}, {135, 3}, {129, 3}, {170, 13}, {162, 10}, {156, 10}, {150, 10}, {144, 10},
64 {139, 10}, {133, 10}, {127, 10}, {164, 16}, {158, 16}, {152, 16}, {146, 16}, {140, 16}, {134, 16}, {128, 16}, {166, 22},
65 {154, 22}, {148, 22}, {142, 22}, {136, 22}, {130, 22}, {170, 28}, {163, 28}, {156, 28}, {149, 28}, {140, 28}, {131, 28},
66 {136, 34}, {128, 34}, {78, 13}, {78, 6}, {80, 0}, {87, 0}, {95, 0}, {103, 0}, {111, 0}, {119, 0}, {122, 3}, {121, 9},
67 {120, 15}, {122, 21}, {123, 27}, {123, 33}, {120, 38}, {116, 42}, {114, 48}, {112, 55}, {109, 61}, {103, 64}, {96, 64},
68 {88, 64}, {81, 63}, {76, 60}, {75, 52}, {75, 46}, {74, 38}, {74, 32}, {75, 27}, {77, 21}, {175, 10}, {175, 4}, {172, 0},
69 {164, 0}, {157, 0}, {149, 0}, {142, 0}, {134, 0}, {127, 0}, {123, 3}, {122, 8}, {122, 15}, {124, 21}, {124, 27}, {124, 33},
70 {126, 38}, {131, 42}, {134, 48}, {135, 55}, {137, 61}, {143, 63}, {150, 63}, {158, 63}, {166, 63}, {173, 63}, {177, 59},
71 {178, 49}, {179, 40}, {179, 31}, {177, 25}, {175, 20}, {175, 15}, {123, 54}
72
73 }, {
74 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,
75 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, 2, 2, 2, 2, 2, 2, 2, 2, 2,
76 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,
77 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4
78 }
79};
diff --git a/keyboards/handwired/dygma/raise/iso/keyboard.json b/keyboards/handwired/dygma/raise/iso/keyboard.json
index 9abe98fdfa..057851bd8c 100644
--- a/keyboards/handwired/dygma/raise/iso/keyboard.json
+++ b/keyboards/handwired/dygma/raise/iso/keyboard.json
@@ -6,6 +6,142 @@
6 "rgb_matrix": true, 6 "rgb_matrix": true,
7 "raw": true 7 "raw": true
8 }, 8 },
9 "rgb_matrix": {
10 "layout": [
11 {"matrix": [0, 0], "x": 82, "y": 3, "flags": 4},
12 {"matrix": [0, 1], "x": 88, "y": 3, "flags": 4},
13 {"matrix": [0, 2], "x": 94, "y": 3, "flags": 4},
14 {"matrix": [0, 3], "x": 100, "y": 3, "flags": 4},
15 {"matrix": [0, 4], "x": 106, "y": 3, "flags": 4},
16 {"matrix": [0, 5], "x": 112, "y": 3, "flags": 4},
17 {"matrix": [0, 6], "x": 118, "y": 3, "flags": 4},
18 {"matrix": [1, 0], "x": 84, "y": 10, "flags": 4},
19 {"matrix": [1, 1], "x": 91, "y": 10, "flags": 4},
20 {"matrix": [1, 2], "x": 97, "y": 10, "flags": 4},
21 {"matrix": [1, 3], "x": 103, "y": 10, "flags": 4},
22 {"matrix": [1, 4], "x": 109, "y": 10, "flags": 4},
23 {"matrix": [1, 5], "x": 115, "y": 10, "flags": 4},
24 {"matrix": [2, 0], "x": 84, "y": 16, "flags": 4},
25 {"matrix": [2, 1], "x": 92, "y": 16, "flags": 4},
26 {"matrix": [2, 2], "x": 98, "y": 16, "flags": 4},
27 {"matrix": [2, 3], "x": 104, "y": 16, "flags": 4},
28 {"matrix": [2, 4], "x": 110, "y": 16, "flags": 4},
29 {"matrix": [2, 5], "x": 116, "y": 16, "flags": 4},
30 {"matrix": [3, 0], "x": 82, "y": 22, "flags": 4},
31 {"matrix": [3, 1], "x": 88, "y": 22, "flags": 4},
32 {"matrix": [3, 2], "x": 94, "y": 22, "flags": 4},
33 {"matrix": [3, 3], "x": 100, "y": 22, "flags": 4},
34 {"matrix": [3, 4], "x": 106, "y": 22, "flags": 4},
35 {"matrix": [3, 5], "x": 112, "y": 22, "flags": 4},
36 {"matrix": [3, 6], "x": 118, "y": 22, "flags": 4},
37 {"matrix": [4, 0], "x": 83, "y": 28, "flags": 4},
38 {"matrix": [4, 1], "x": 90, "y": 28, "flags": 4},
39 {"matrix": [4, 2], "x": 98, "y": 28, "flags": 4},
40 {"matrix": [4, 3], "x": 106, "y": 28, "flags": 4},
41 {"matrix": [4, 4], "x": 116, "y": 28, "flags": 4},
42 {"matrix": [4, 6], "x": 111, "y": 34, "flags": 4},
43 {"matrix": [4, 7], "x": 118, "y": 34, "flags": 4},
44 {"matrix": [5, 0], "x": 168, "y": 3, "flags": 4},
45 {"matrix": [5, 1], "x": 159, "y": 3, "flags": 4},
46 {"matrix": [5, 2], "x": 153, "y": 3, "flags": 4},
47 {"matrix": [5, 3], "x": 147, "y": 3, "flags": 4},
48 {"matrix": [5, 4], "x": 141, "y": 3, "flags": 4},
49 {"matrix": [5, 5], "x": 135, "y": 3, "flags": 4},
50 {"matrix": [5, 6], "x": 129, "y": 3, "flags": 4},
51 {"matrix": [6, 0], "x": 170, "y": 13, "flags": 4},
52 {"matrix": [6, 1], "x": 162, "y": 10, "flags": 4},
53 {"matrix": [6, 2], "x": 156, "y": 10, "flags": 4},
54 {"matrix": [6, 3], "x": 150, "y": 10, "flags": 4},
55 {"matrix": [6, 4], "x": 144, "y": 10, "flags": 4},
56 {"matrix": [6, 5], "x": 139, "y": 10, "flags": 4},
57 {"matrix": [6, 6], "x": 133, "y": 10, "flags": 4},
58 {"matrix": [6, 7], "x": 127, "y": 10, "flags": 4},
59 {"matrix": [7, 0], "x": 164, "y": 16, "flags": 4},
60 {"matrix": [7, 1], "x": 158, "y": 16, "flags": 4},
61 {"matrix": [7, 2], "x": 152, "y": 16, "flags": 4},
62 {"matrix": [7, 3], "x": 146, "y": 16, "flags": 4},
63 {"matrix": [7, 4], "x": 140, "y": 16, "flags": 4},
64 {"matrix": [7, 5], "x": 134, "y": 16, "flags": 4},
65 {"matrix": [7, 6], "x": 128, "y": 16, "flags": 4},
66 {"matrix": [8, 0], "x": 166, "y": 22, "flags": 4},
67 {"matrix": [8, 1], "x": 154, "y": 22, "flags": 4},
68 {"matrix": [8, 2], "x": 148, "y": 22, "flags": 4},
69 {"matrix": [8, 3], "x": 142, "y": 22, "flags": 4},
70 {"matrix": [8, 4], "x": 136, "y": 22, "flags": 4},
71 {"matrix": [8, 5], "x": 130, "y": 22, "flags": 4},
72 {"matrix": [9, 0], "x": 170, "y": 28, "flags": 4},
73 {"matrix": [9, 1], "x": 163, "y": 28, "flags": 4},
74 {"matrix": [9, 2], "x": 156, "y": 28, "flags": 4},
75 {"matrix": [9, 3], "x": 149, "y": 28, "flags": 4},
76 {"matrix": [9, 4], "x": 140, "y": 28, "flags": 4},
77 {"matrix": [9, 5], "x": 131, "y": 28, "flags": 4},
78 {"matrix": [9, 6], "x": 136, "y": 34, "flags": 4},
79 {"matrix": [9, 7], "x": 128, "y": 34, "flags": 4},
80 {"x": 78, "y": 13, "flags": 2},
81 {"x": 78, "y": 6, "flags": 2},
82 {"x": 80, "y": 0, "flags": 2},
83 {"x": 87, "y": 0, "flags": 2},
84 {"x": 95, "y": 0, "flags": 2},
85 {"x": 103, "y": 0, "flags": 2},
86 {"x": 111, "y": 0, "flags": 2},
87 {"x": 119, "y": 0, "flags": 2},
88 {"x": 122, "y": 3, "flags": 2},
89 {"x": 121, "y": 9, "flags": 2},
90 {"x": 120, "y": 15, "flags": 2},
91 {"x": 122, "y": 21, "flags": 2},
92 {"x": 123, "y": 27, "flags": 2},
93 {"x": 123, "y": 33, "flags": 2},
94 {"x": 120, "y": 38, "flags": 2},
95 {"x": 116, "y": 42, "flags": 2},
96 {"x": 114, "y": 48, "flags": 2},
97 {"x": 112, "y": 55, "flags": 2},
98 {"x": 109, "y": 61, "flags": 2},
99 {"x": 103, "y": 64, "flags": 2},
100 {"x": 96, "y": 64, "flags": 2},
101 {"x": 88, "y": 64, "flags": 2},
102 {"x": 81, "y": 63, "flags": 2},
103 {"x": 76, "y": 60, "flags": 2},
104 {"x": 75, "y": 52, "flags": 2},
105 {"x": 75, "y": 46, "flags": 2},
106 {"x": 74, "y": 38, "flags": 2},
107 {"x": 74, "y": 32, "flags": 2},
108 {"x": 75, "y": 27, "flags": 2},
109 {"x": 77, "y": 21, "flags": 2},
110 {"x": 175, "y": 10, "flags": 2},
111 {"x": 175, "y": 4, "flags": 2},
112 {"x": 172, "y": 0, "flags": 2},
113 {"x": 164, "y": 0, "flags": 2},
114 {"x": 157, "y": 0, "flags": 2},
115 {"x": 149, "y": 0, "flags": 2},
116 {"x": 142, "y": 0, "flags": 2},
117 {"x": 134, "y": 0, "flags": 2},
118 {"x": 127, "y": 0, "flags": 2},
119 {"x": 123, "y": 3, "flags": 2},
120 {"x": 122, "y": 8, "flags": 2},
121 {"x": 122, "y": 15, "flags": 2},
122 {"x": 124, "y": 21, "flags": 2},
123 {"x": 124, "y": 27, "flags": 2},
124 {"x": 124, "y": 33, "flags": 2},
125 {"x": 126, "y": 38, "flags": 2},
126 {"x": 131, "y": 42, "flags": 2},
127 {"x": 134, "y": 48, "flags": 2},
128 {"x": 135, "y": 55, "flags": 2},
129 {"x": 137, "y": 61, "flags": 2},
130 {"x": 143, "y": 63, "flags": 2},
131 {"x": 150, "y": 63, "flags": 2},
132 {"x": 158, "y": 63, "flags": 2},
133 {"x": 166, "y": 63, "flags": 2},
134 {"x": 173, "y": 63, "flags": 2},
135 {"x": 177, "y": 59, "flags": 2},
136 {"x": 178, "y": 49, "flags": 2},
137 {"x": 179, "y": 40, "flags": 2},
138 {"x": 179, "y": 31, "flags": 2},
139 {"x": 177, "y": 25, "flags": 2},
140 {"x": 175, "y": 20, "flags": 2},
141 {"x": 175, "y": 15, "flags": 2},
142 {"x": 123, "y": 54, "flags": 4}
143 ]
144 },
9 "layouts": { 145 "layouts": {
10 "LAYOUT_all": { 146 "LAYOUT_all": {
11 "layout": [ 147 "layout": [
diff --git a/keyboards/handwired/hnah108/hnah108.c b/keyboards/handwired/hnah108/hnah108.c
deleted file mode 100644
index fde7b16564..0000000000
--- a/keyboards/handwired/hnah108/hnah108.c
+++ /dev/null
@@ -1,47 +0,0 @@
1/* Copyright 2019 HnahKB
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include "quantum.h"
18
19#ifdef RGB_MATRIX_ENABLE
20led_config_t g_led_config = {
21 {
22 // Key Matrix to LED Index
23 { 18, 17, 16, NO_LED, 15, 14, NO_LED, NO_LED, 13, 12, NO_LED },
24 { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
25 { 19, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
26 { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
27 { 20, NO_LED, NO_LED, NO_LED, NO_LED, 24, NO_LED, NO_LED, 26, NO_LED, NO_LED },
28 { 21, 22, 23, 25, 27, NO_LED, 28, 29, NO_LED, 0, 1 },
29 { 11, 10, NO_LED, 9, NO_LED, 8, NO_LED, 7, 6, NO_LED, 5 },
30 { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 4 },
31 { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 3 },
32 { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 2 }
33 }, {
34 // LED Index to Physical Position
35 { 0, 0 }, { 18, 0 }, { 37, 0 }, { 56, 0 }, { 74, 0 }, { 93, 0 }, { 112, 0 }, { 130, 0 }, { 149, 0 }, { 168, 0 }, { 186, 0 }, { 205, 0 }, { 224, 0 },
36 { 0, 25 }, { 224, 25 },
37 { 0, 51 }, { 224, 51 },
38 { 0, 63 }, { 18, 63 }, { 37, 63 }, { 56, 63 }, { 74, 63 }, { 93, 63 }, { 112, 63 }, { 130, 63 }, { 149, 63 }, { 168, 63 }, { 186, 63 }, { 205, 63 }, { 224, 63 }
39 }, {
40 // LED Index to Flag
41 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
42 1, 1,
43 1, 1,
44 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
45 }
46};
47#endif
diff --git a/keyboards/handwired/hnah108/keyboard.json b/keyboards/handwired/hnah108/keyboard.json
index a02a70173c..808fd9eb24 100644
--- a/keyboards/handwired/hnah108/keyboard.json
+++ b/keyboards/handwired/hnah108/keyboard.json
@@ -51,7 +51,39 @@
51 "solid_splash": true, 51 "solid_splash": true,
52 "solid_multisplash": true 52 "solid_multisplash": true
53 }, 53 },
54 "driver": "ws2812" 54 "driver": "ws2812",
55 "layout": [
56 {"matrix": [5, 9], "x": 0, "y": 0, "flags": 1},
57 {"matrix": [5, 10], "x": 18, "y": 0, "flags": 1},
58 {"matrix": [9, 10], "x": 37, "y": 0, "flags": 1},
59 {"matrix": [8, 10], "x": 56, "y": 0, "flags": 1},
60 {"matrix": [7, 10], "x": 74, "y": 0, "flags": 1},
61 {"matrix": [6, 10], "x": 93, "y": 0, "flags": 1},
62 {"matrix": [6, 8], "x": 112, "y": 0, "flags": 1},
63 {"matrix": [6, 7], "x": 130, "y": 0, "flags": 1},
64 {"matrix": [6, 5], "x": 149, "y": 0, "flags": 1},
65 {"matrix": [6, 3], "x": 168, "y": 0, "flags": 1},
66 {"matrix": [6, 1], "x": 186, "y": 0, "flags": 1},
67 {"matrix": [6, 0], "x": 205, "y": 0, "flags": 1},
68 {"matrix": [0, 9], "x": 224, "y": 0, "flags": 1},
69 {"matrix": [0, 8], "x": 0, "y": 25, "flags": 1},
70 {"matrix": [0, 5], "x": 224, "y": 25, "flags": 1},
71 {"matrix": [0, 4], "x": 0, "y": 51, "flags": 1},
72 {"matrix": [0, 2], "x": 224, "y": 51, "flags": 1},
73 {"matrix": [0, 1], "x": 0, "y": 63, "flags": 1},
74 {"matrix": [0, 0], "x": 18, "y": 63, "flags": 1},
75 {"matrix": [2, 0], "x": 37, "y": 63, "flags": 1},
76 {"matrix": [4, 0], "x": 56, "y": 63, "flags": 1},
77 {"matrix": [5, 0], "x": 74, "y": 63, "flags": 1},
78 {"matrix": [5, 1], "x": 93, "y": 63, "flags": 1},
79 {"matrix": [5, 2], "x": 112, "y": 63, "flags": 1},
80 {"matrix": [4, 5], "x": 130, "y": 63, "flags": 1},
81 {"matrix": [5, 3], "x": 149, "y": 63, "flags": 1},
82 {"matrix": [4, 8], "x": 168, "y": 63, "flags": 1},
83 {"matrix": [5, 4], "x": 186, "y": 63, "flags": 1},
84 {"matrix": [5, 6], "x": 205, "y": 63, "flags": 1},
85 {"matrix": [5, 7], "x": 224, "y": 63, "flags": 1}
86 ]
55 }, 87 },
56 "features": { 88 "features": {
57 "backlight": true, 89 "backlight": true,
diff --git a/keyboards/handwired/hnah40rgb/hnah40rgb.c b/keyboards/handwired/hnah40rgb/hnah40rgb.c
deleted file mode 100644
index 1f877975e5..0000000000
--- a/keyboards/handwired/hnah40rgb/hnah40rgb.c
+++ /dev/null
@@ -1,47 +0,0 @@
1#include "quantum.h"
2#ifdef RGB_MATRIX_ENABLE
3#if defined (ansi)
4led_config_t g_led_config = { {
5 //Key Matrix to LED Index
6 {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
7 {22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12 },
8 {23, 24, 25, 26, 27, 28, 29, 30, 31, NO_LED, 34},
9 {43, 42, 41, NO_LED, NO_LED, NO_LED, 38, NO_LED, 36, 35, 11}
10}, {
11 //LED Index to Physical Positon
12 { 0, 0}, { 20, 0}, { 40, 0 }, { 61, 0 }, { 81, 0}, { 101, 0}, { 122, 0}, { 142, 0}, { 162, 0}, { 183, 0}, { 224, 0}, { 224, 0},
13 {224, 21}, {183, 21}, {162,21 }, {142, 21}, {122,21}, { 101,21}, { 81 ,21}, { 61 ,21}, { 40 ,21}, { 20 ,21}, { 0 ,21},
14 { 0, 42}, { 20, 42}, { 40,42 }, { 61, 42}, { 81,42}, { 101,42}, { 122,42}, { 142,42}, { 162,42}, { 183,42}, { 224,42},
15 {224, 64}, {224, 64}, {181,64 }, {162, 64}, {122,64}, {101,64}, { 61,64}, { 40,64}, { 20,64}, { 0,64},
16 { 0,64}, { 0,0}, { 224,10}, { 224,18}, { 224,30}, { 224,47},
17}, {
18 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
19 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
20 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
21 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
22 1, 1, 1, 1, 1, 1,
23} };
24
25#else
26led_config_t g_led_config = { {
27 //Key Matrix to LED Index
28 {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
29 {22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12 },
30 {23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34},
31 {43, 42, 41, NO_LED, 40, 39, 38, 37, 36, 35, 11}
32}, {
33 //LED Index to Physical Positon
34 { 0, 0}, { 20, 0}, { 40, 0 }, { 61, 0 }, { 81, 0}, { 101, 0}, { 122, 0}, { 142, 0}, { 162, 0}, { 183, 0}, { 224, 0}, { 224, 0},
35 {224, 21}, {183, 21}, {162,21 }, {142, 21}, {122,21}, { 101,21}, { 81 ,21}, { 61 ,21}, { 40 ,21}, { 20 ,21}, { 0 ,21},
36 { 0, 42}, { 20, 42}, { 40,42 }, { 61, 42}, { 81,42}, { 101,42}, { 122,42}, { 142,42}, { 162,42}, { 183,42}, { 224,42},
37 {224, 64}, {224, 64}, {181,64 }, {162, 64}, {122,64}, {101,64}, { 61,64}, { 40,64}, { 20,64}, { 0,64},
38 { 0,64}, { 0,0}, { 224,10}, { 224,18}, { 224,30}, { 224,47},
39}, {
40 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
41 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4,
42 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4,
43 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
44 1, 1, 1, 1, 1, 1,
45} };
46#endif
47#endif \ No newline at end of file
diff --git a/keyboards/handwired/hnah40rgb/keyboard.json b/keyboards/handwired/hnah40rgb/keyboard.json
index 6f13b70095..ec824ea14f 100644
--- a/keyboards/handwired/hnah40rgb/keyboard.json
+++ b/keyboards/handwired/hnah40rgb/keyboard.json
@@ -60,6 +60,58 @@
60 "animation": "cycle_pinwheel" 60 "animation": "cycle_pinwheel"
61 }, 61 },
62 "driver": "ws2812", 62 "driver": "ws2812",
63 "layout": [
64 {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
65 {"matrix": [0, 1], "x": 20, "y": 0, "flags": 4},
66 {"matrix": [0, 2], "x": 40, "y": 0, "flags": 4},
67 {"matrix": [0, 3], "x": 61, "y": 0, "flags": 4},
68 {"matrix": [0, 4], "x": 81, "y": 0, "flags": 4},
69 {"matrix": [0, 5], "x": 101, "y": 0, "flags": 4},
70 {"matrix": [0, 6], "x": 122, "y": 0, "flags": 4},
71 {"matrix": [0, 7], "x": 142, "y": 0, "flags": 4},
72 {"matrix": [0, 8], "x": 162, "y": 0, "flags": 4},
73 {"matrix": [0, 9], "x": 183, "y": 0, "flags": 4},
74 {"matrix": [0, 10], "x": 224, "y": 0, "flags": 4},
75 {"matrix": [3, 10], "x": 224, "y": 0, "flags": 1},
76 {"matrix": [1, 10], "x": 224, "y": 21, "flags": 1},
77 {"matrix": [1, 9], "x": 183, "y": 21, "flags": 4},
78 {"matrix": [1, 8], "x": 162, "y": 21, "flags": 4},
79 {"matrix": [1, 7], "x": 142, "y": 21, "flags": 4},
80 {"matrix": [1, 6], "x": 122, "y": 21, "flags": 4},
81 {"matrix": [1, 5], "x": 101, "y": 21, "flags": 4},
82 {"matrix": [1, 4], "x": 81, "y": 21, "flags": 4},
83 {"matrix": [1, 3], "x": 61, "y": 21, "flags": 4},
84 {"matrix": [1, 2], "x": 40, "y": 21, "flags": 4},
85 {"matrix": [1, 1], "x": 20, "y": 21, "flags": 4},
86 {"matrix": [1, 0], "x": 0, "y": 21, "flags": 1},
87 {"matrix": [2, 0], "x": 0, "y": 42, "flags": 1},
88 {"matrix": [2, 1], "x": 20, "y": 42, "flags": 4},
89 {"matrix": [2, 2], "x": 40, "y": 42, "flags": 4},
90 {"matrix": [2, 3], "x": 61, "y": 42, "flags": 4},
91 {"matrix": [2, 4], "x": 81, "y": 42, "flags": 4},
92 {"matrix": [2, 5], "x": 101, "y": 42, "flags": 4},
93 {"matrix": [2, 6], "x": 122, "y": 42, "flags": 4},
94 {"matrix": [2, 7], "x": 142, "y": 42, "flags": 4},
95 {"matrix": [2, 8], "x": 162, "y": 42, "flags": 4},
96 {"matrix": [2, 9], "x": 183, "y": 42, "flags": 4},
97 {"x": 224, "y": 42, "flags": 1},
98 {"matrix": [2, 10], "x": 224, "y": 64, "flags": 1},
99 {"matrix": [3, 9], "x": 224, "y": 64, "flags": 1},
100 {"matrix": [3, 8], "x": 181, "y": 64, "flags": 1},
101 {"matrix": [3, 7], "x": 162, "y": 64, "flags": 1},
102 {"matrix": [3, 6], "x": 122, "y": 64, "flags": 1},
103 {"matrix": [3, 5], "x": 101, "y": 64, "flags": 1},
104 {"matrix": [3, 4], "x": 61, "y": 64, "flags": 1},
105 {"matrix": [3, 2], "x": 40, "y": 64, "flags": 1},
106 {"matrix": [3, 1], "x": 20, "y": 64, "flags": 1},
107 {"matrix": [3, 0], "x": 0, "y": 64, "flags": 1},
108 {"x": 0, "y": 64, "flags": 1},
109 {"x": 0, "y": 0, "flags": 1},
110 {"x": 224, "y": 10, "flags": 1},
111 {"x": 224, "y": 18, "flags": 1},
112 {"x": 224, "y": 30, "flags": 1},
113 {"x": 224, "y": 47, "flags": 1}
114 ],
63 "max_brightness": 200, 115 "max_brightness": 200,
64 "react_on_keyup": true 116 "react_on_keyup": true
65 }, 117 },
diff --git a/keyboards/handwired/hnah40rgb/keymaps/ansi/config.h b/keyboards/handwired/hnah40rgb/keymaps/ansi/config.h
deleted file mode 100644
index 66cd76a901..0000000000
--- a/keyboards/handwired/hnah40rgb/keymaps/ansi/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
1/* Copyright 2019 HnahKB
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18#define ansi \ No newline at end of file
diff --git a/keyboards/handwired/orbweaver/keyboard.json b/keyboards/handwired/orbweaver/keyboard.json
index 73baa9a21d..0061c79ba2 100644
--- a/keyboards/handwired/orbweaver/keyboard.json
+++ b/keyboards/handwired/orbweaver/keyboard.json
@@ -12,8 +12,29 @@
12 "rgb_matrix": true 12 "rgb_matrix": true
13 }, 13 },
14 "rgb_matrix": { 14 "rgb_matrix": {
15 "center_point": [40, 30], 15 "driver": "is31fl3731",
16 "driver": "is31fl3731" 16 "layout": [
17 {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
18 {"x": 56, "y": 0, "flags": 4},
19 {"matrix": [0, 1], "x": 112, "y": 0, "flags": 4},
20 {"matrix": [0, 2], "x": 168, "y": 0, "flags": 4},
21 {"matrix": [0, 3], "x": 224, "y": 0, "flags": 4},
22 {"matrix": [0, 4], "x": 0, "y": 20, "flags": 4},
23 {"matrix": [1, 0], "x": 56, "y": 20, "flags": 4},
24 {"matrix": [1, 1], "x": 112, "y": 20, "flags": 4},
25 {"matrix": [1, 2], "x": 168, "y": 20, "flags": 4},
26 {"matrix": [1, 3], "x": 224, "y": 20, "flags": 4},
27 {"matrix": [1, 4], "x": 0, "y": 40, "flags": 4},
28 {"matrix": [2, 0], "x": 56, "y": 40, "flags": 4},
29 {"matrix": [2, 1], "x": 112, "y": 40, "flags": 4},
30 {"matrix": [2, 2], "x": 168, "y": 40, "flags": 4},
31 {"matrix": [2, 3], "x": 224, "y": 40, "flags": 4},
32 {"matrix": [2, 4], "x": 0, "y": 60, "flags": 4},
33 {"matrix": [3, 0], "x": 56, "y": 60, "flags": 4},
34 {"matrix": [3, 1], "x": 112, "y": 60, "flags": 4},
35 {"matrix": [3, 2], "x": 168, "y": 60, "flags": 4},
36 {"matrix": [3, 4], "x": 224, "y": 60, "flags": 4}
37 ]
17 }, 38 },
18 "matrix_pins": { 39 "matrix_pins": {
19 "rows": ["GP4", "GP5", "GP6", "GP7", "GP8", "GP9"], 40 "rows": ["GP4", "GP5", "GP6", "GP7", "GP8", "GP9"],
diff --git a/keyboards/handwired/orbweaver/orbweaver.c b/keyboards/handwired/orbweaver/orbweaver.c
index f89d1ca363..8c23818eea 100644
--- a/keyboards/handwired/orbweaver/orbweaver.c
+++ b/keyboards/handwired/orbweaver/orbweaver.c
@@ -15,10 +15,10 @@
15// 15//
16// SPDX-License-Identifier: GPL-2.0-or-later 16// SPDX-License-Identifier: GPL-2.0-or-later
17 17
18// This IS31FL3731 configuration is for a Razer Orbweaver Chroma. 18// This IS31FL3731 configuration is for a Razer Orbweaver Chroma.
19// It was reverse-engineered by testing all possible Cx_y combinations (144 total), 19// It was reverse-engineered by testing all possible Cx_y combinations (144 total),
20// and determining which ones addressed individual diodes (60 total). These were then 20// and determining which ones addressed individual diodes (60 total). These were then
21// placed in order R-G-B, sweeping left to right, and then top to bottom. 21// placed in order R-G-B, sweeping left to right, and then top to bottom.
22 22
23#include "rgb_matrix.h" 23#include "rgb_matrix.h"
24 24
@@ -30,55 +30,24 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
30 * | | | B location 30 * | | | B location
31 * | | | | */ 31 * | | | | */
32 {0, C9_1, C8_1, C7_1}, //top left key. 32 {0, C9_1, C8_1, C7_1}, //top left key.
33 {0, C9_2, C8_2, C7_2}, 33 {0, C9_2, C8_2, C7_2},
34 {0, C9_3, C8_3, C7_3}, 34 {0, C9_3, C8_3, C7_3},
35 {0, C9_4, C8_4, C7_4}, 35 {0, C9_4, C8_4, C7_4},
36 {0, C9_5, C8_5, C7_5}, //top right key. 36 {0, C9_5, C8_5, C7_5}, //top right key.
37 {0, C9_6, C8_6, C7_6}, 37 {0, C9_6, C8_6, C7_6},
38 {0, C9_7, C8_7, C6_6}, 38 {0, C9_7, C8_7, C6_6},
39 {0, C9_8, C7_7, C6_7}, 39 {0, C9_8, C7_7, C6_7},
40 {0, C1_8, C2_8, C3_8}, 40 {0, C1_8, C2_8, C3_8},
41 {0, C1_7, C2_7, C3_7}, 41 {0, C1_7, C2_7, C3_7},
42 {0, C1_6, C2_6, C3_6}, 42 {0, C1_6, C2_6, C3_6},
43 {0, C1_5, C2_5, C3_5}, 43 {0, C1_5, C2_5, C3_5},
44 {0, C1_4, C2_4, C3_4}, 44 {0, C1_4, C2_4, C3_4},
45 {0, C1_3, C2_3, C3_3}, 45 {0, C1_3, C2_3, C3_3},
46 {0, C1_2, C2_2, C4_3}, 46 {0, C1_2, C2_2, C4_3},
47 {0, C1_1, C3_2, C4_2}, //lower left key 47 {0, C1_1, C3_2, C4_2}, //lower left key
48 {0, C9_9, C8_9, C7_9}, 48 {0, C9_9, C8_9, C7_9},
49 {0, C9_10, C8_10, C7_10}, 49 {0, C9_10, C8_10, C7_10},
50 {0, C9_11, C8_11, C7_11}, 50 {0, C9_11, C8_11, C7_11},
51 {0, C9_12, C8_12, C7_12} //lower right key 51 {0, C9_12, C8_12, C7_12} //lower right key
52 52
53}; 53};
54
55led_config_t g_led_config = {
56 // Matrix location to LED index
57 {
58 { 0, 2, 3, 4, 5 },
59 { 6, 7, 8, 9, 10 },
60 { 11, 12, 13, 14, 15 },
61 { 16, 17, 18, 19, 19 },
62 { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
63 { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }
64 },
65
66 // LED index to physical location
67 {
68 {0,0}, {20,0}, {40,0}, {60,0}, {80,0},
69 {0,20}, {20,20}, {40,20}, {60,20}, {80,20},
70 {0,40}, {20,40}, {40,40}, {60,40}, {80,40},
71 {0,60}, {20,60}, {40,60}, {60,60}, {80,60}
72 },
73
74 // LED index to flags
75 {
76 4, 4, 4, 4, 4,
77 4, 4, 4, 4, 4,
78 4, 4, 4, 4, 4,
79 4, 4, 4, 4, 4
80 }
81 };
82
83
84
diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/4x6_right.c b/keyboards/handwired/tractyl_manuform/4x6_right/4x6_right.c
index 298060bcb4..f678db94d8 100644
--- a/keyboards/handwired/tractyl_manuform/4x6_right/4x6_right.c
+++ b/keyboards/handwired/tractyl_manuform/4x6_right/4x6_right.c
@@ -16,39 +16,6 @@
16 16
17#include "tractyl_manuform.h" 17#include "tractyl_manuform.h"
18 18
19#ifdef RGB_MATRIX_ENABLE
20led_config_t g_led_config = { {
21 { 24, 23, 18, 17, 10, 9 },
22 { 25, 22, 19, 16, 11, 8 },
23 { 26, 21, 20, 15, 12, 7 },
24 { NO_LED, NO_LED, NO_LED, 14, 13, 6 },
25 { NO_LED, NO_LED, NO_LED, 14, 13, 6 },
26 { 51, 50, 45, 44, 37, 36 },
27 { 52, 49, 46, 43, 38, 35 },
28 { 53, 48, 47, 42, 39, 34 },
29 { NO_LED, NO_LED, NO_LED, 41, 40, 33 },
30 { NO_LED, NO_LED, NO_LED, 41, 40, 33 }
31}, {
32 { 85, 16 }, { 50, 13 }, { 16, 20 }, { 16, 38 }, { 50, 48 }, { 85, 52 }, { 95, 63 },
33 { 85, 39 }, { 85, 21 }, { 85, 4 }, { 68, 2 }, { 68, 19 }, { 68, 37 }, { 80, 58 },
34 { 60, 55 }, { 50, 35 }, { 50, 13 }, { 50, 0 }, { 33, 3 }, { 33, 20 }, { 33, 37 },
35 { 16, 42 }, { 16, 24 }, { 16, 7 }, { 0, 7 }, { 0, 24 }, { 0, 41 }, { 139, 16 },
36 { 174, 13 }, { 208, 20 }, { 208, 38 }, { 174, 48 }, { 139, 52 }, { 129, 63 }, { 139, 39 },
37 { 139, 21 }, { 139, 4 }, { 156, 2 }, { 156, 19 }, { 156, 37 }, { 144, 58 }, { 164, 55 },
38 { 174, 35 }, { 174, 13 }, { 174, 0 }, { 191, 3 }, { 191, 20 }, { 191, 37 }, { 208, 42 },
39 { 208, 24 }, { 208, 7 }, { 224, 7 }, { 224, 24 }, { 224, 41 }
40}, {
41 2, 2, 2, 2, 2, 2, 1,
42 4, 4, 4, 4, 4, 4, 1,
43 1, 4, 4, 4, 4, 4, 4,
44 4, 4, 4, 1, 1, 1, 2,
45 2, 2, 2, 2, 2, 1, 4,
46 4, 4, 4, 4, 4, 1, 1,
47 4, 4, 4, 4, 4, 4, 4,
48 4, 4, 1, 1, 1
49} };
50#endif
51
52#ifdef SWAP_HANDS_ENABLE 19#ifdef SWAP_HANDS_ENABLE
53const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { 20const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
54 /* Left hand, matrix positions */ 21 /* Left hand, matrix positions */
diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/keyboard.json b/keyboards/handwired/tractyl_manuform/4x6_right/keyboard.json
index cc651bec95..8e5290006e 100644
--- a/keyboards/handwired/tractyl_manuform/4x6_right/keyboard.json
+++ b/keyboards/handwired/tractyl_manuform/4x6_right/keyboard.json
@@ -7,6 +7,62 @@
7 }, 7 },
8 "rgb_matrix": { 8 "rgb_matrix": {
9 "driver": "ws2812", 9 "driver": "ws2812",
10 "layout": [
11 {"x": 85, "y": 16, "flags": 2},
12 {"x": 50, "y": 13, "flags": 2},
13 {"x": 16, "y": 20, "flags": 2},
14 {"x": 16, "y": 38, "flags": 2},
15 {"x": 50, "y": 48, "flags": 2},
16 {"x": 85, "y": 52, "flags": 2},
17 {"matrix": [4, 5], "x": 95, "y": 63, "flags": 1},
18 {"matrix": [2, 5], "x": 85, "y": 39, "flags": 4},
19 {"matrix": [1, 5], "x": 85, "y": 21, "flags": 4},
20 {"matrix": [0, 5], "x": 85, "y": 4, "flags": 4},
21 {"matrix": [0, 4], "x": 68, "y": 2, "flags": 4},
22 {"matrix": [1, 4], "x": 68, "y": 19, "flags": 4},
23 {"matrix": [2, 4], "x": 68, "y": 37, "flags": 4},
24 {"matrix": [4, 4], "x": 80, "y": 58, "flags": 1},
25 {"matrix": [4, 3], "x": 60, "y": 55, "flags": 1},
26 {"matrix": [2, 3], "x": 50, "y": 35, "flags": 4},
27 {"matrix": [1, 3], "x": 50, "y": 13, "flags": 4},
28 {"matrix": [0, 3], "x": 50, "y": 0, "flags": 4},
29 {"matrix": [0, 2], "x": 33, "y": 3, "flags": 4},
30 {"matrix": [1, 2], "x": 33, "y": 20, "flags": 4},
31 {"matrix": [2, 2], "x": 33, "y": 37, "flags": 4},
32 {"matrix": [2, 1], "x": 16, "y": 42, "flags": 4},
33 {"matrix": [1, 1], "x": 16, "y": 24, "flags": 4},
34 {"matrix": [0, 1], "x": 16, "y": 7, "flags": 4},
35 {"matrix": [0, 0], "x": 0, "y": 7, "flags": 1},
36 {"matrix": [1, 0], "x": 0, "y": 24, "flags": 1},
37 {"matrix": [2, 0], "x": 0, "y": 41, "flags": 1},
38 {"x": 139, "y": 16, "flags": 2},
39 {"x": 174, "y": 13, "flags": 2},
40 {"x": 208, "y": 20, "flags": 2},
41 {"x": 208, "y": 38, "flags": 2},
42 {"x": 174, "y": 48, "flags": 2},
43 {"x": 139, "y": 52, "flags": 2},
44 {"matrix": [9, 5], "x": 129, "y": 63, "flags": 1},
45 {"matrix": [7, 5], "x": 139, "y": 39, "flags": 4},
46 {"matrix": [6, 5], "x": 139, "y": 21, "flags": 4},
47 {"matrix": [5, 5], "x": 139, "y": 4, "flags": 4},
48 {"matrix": [5, 4], "x": 156, "y": 2, "flags": 4},
49 {"matrix": [6, 4], "x": 156, "y": 19, "flags": 4},
50 {"matrix": [7, 4], "x": 156, "y": 37, "flags": 4},
51 {"matrix": [9, 4], "x": 144, "y": 58, "flags": 1},
52 {"matrix": [9, 3], "x": 164, "y": 55, "flags": 1},
53 {"matrix": [7, 3], "x": 174, "y": 35, "flags": 4},
54 {"matrix": [6, 3], "x": 174, "y": 13, "flags": 4},
55 {"matrix": [5, 3], "x": 174, "y": 0, "flags": 4},
56 {"matrix": [5, 2], "x": 191, "y": 3, "flags": 4},
57 {"matrix": [6, 2], "x": 191, "y": 20, "flags": 4},
58 {"matrix": [7, 2], "x": 191, "y": 37, "flags": 4},
59 {"matrix": [7, 1], "x": 208, "y": 42, "flags": 4},
60 {"matrix": [6, 1], "x": 208, "y": 24, "flags": 4},
61 {"matrix": [5, 1], "x": 208, "y": 7, "flags": 4},
62 {"matrix": [5, 0], "x": 224, "y": 7, "flags": 1},
63 {"matrix": [6, 0], "x": 224, "y": 24, "flags": 1},
64 {"matrix": [7, 0], "x": 224, "y": 41, "flags": 1}
65 ],
10 "max_brightness": 80, 66 "max_brightness": 80,
11 "sleep": true, 67 "sleep": true,
12 "split_count": [32, 30] 68 "split_count": [32, 30]