summary refs log tree commit diff
path: root/keyboards/primekb
diff options
context:
space:
mode:
authorRyan <fauxpark@gmail.com>2023-04-12 13:42:51 +1000
committerGitHub <noreply@github.com>2023-04-12 13:42:51 +1000
commit5bd68e3695a82ff504c358c33445b4530c2a327f (patch)
tree10b245757dcb4f2c3c07796671ed8d284e5f5d6f /keyboards/primekb
parent941e159a28f1bdbdd913654c4f9a14291f8d5299 (diff)
Move single `LAYOUT`s to data driven (#20365)
Diffstat (limited to 'keyboards/primekb')
-rw-r--r--keyboards/primekb/meridian_rgb/info.json76
-rw-r--r--keyboards/primekb/meridian_rgb/meridian_rgb.h37
-rw-r--r--keyboards/primekb/prime_e/info.json62
-rw-r--r--keyboards/primekb/prime_e/prime_e.h32
-rw-r--r--keyboards/primekb/prime_l/info.json7
-rw-r--r--keyboards/primekb/prime_l/v1/info.json90
-rw-r--r--keyboards/primekb/prime_l/v1/v1.h33
-rw-r--r--keyboards/primekb/prime_l/v2/info.json90
-rw-r--r--keyboards/primekb/prime_l/v2/v2.h33
-rw-r--r--keyboards/primekb/prime_o/info.json91
-rw-r--r--keyboards/primekb/prime_o/prime_o.h38
-rw-r--r--keyboards/primekb/prime_r/info.json82
-rw-r--r--keyboards/primekb/prime_r/prime_r.h35
13 files changed, 468 insertions, 238 deletions
diff --git a/keyboards/primekb/meridian_rgb/info.json b/keyboards/primekb/meridian_rgb/info.json
index d3422ffec9..239f6ea4f4 100644
--- a/keyboards/primekb/meridian_rgb/info.json
+++ b/keyboards/primekb/meridian_rgb/info.json
@@ -25,7 +25,81 @@
     "bootloader": "atmel-dfu",
     "layouts": {
         "LAYOUT": {
-            "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":8.5, "y":0}, {"label":"*", "x":9.5, "y":0}, {"label":"(", "x":10.5, "y":0}, {"label":")", "x":11.5, "y":0}, {"label":"_", "x":12.5, "y":0}, {"label":"+", "x":13.5, "y":0}, {"label":"Backspace", "x":14.5, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":8, "y":1}, {"label":"U", "x":9, "y":1}, {"label":"I", "x":10, "y":1}, {"label":"O", "x":11, "y":1}, {"label":"P", "x":12, "y":1}, {"label":"{", "x":13, "y":1}, {"label":"}", "x":14, "y":1}, {"label":"|", "x":15, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":8.25, "y":2}, {"label":"J", "x":9.25, "y":2}, {"label":"K", "x":10.25, "y":2}, {"label":"L", "x":11.25, "y":2}, {"label":":", "x":12.25, "y":2}, {"label":"\"", "x":13.25, "y":2}, {"label":"Enter", "x":14.25, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"B", "x":7.75, "y":3}, {"label":"N", "x":8.75, "y":3}, {"label":"M", "x":9.75, "y":3}, {"label":"<", "x":10.75, "y":3}, {"label":">", "x":11.75, "y":3}, {"label":"?", "x":12.75, "y":3}, {"label":"Shift", "x":13.75, "y":3, "w":1.75}, {"label":"Fn", "x":15.5, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":3.75, "y":4, "w":1.25}, {"x":5, "y":4, "w":2.25}, {"x":7.75, "y":4, "w":2.75}, {"label":"Alt", "x":10.5, "y":4, "w":1.25}, {"label":"Win", "x":12.75, "y":4, "w":1.25}, {"label":"Menu", "x":14, "y":4, "w":1.25}, {"label":"Ctrl", "x":15.25, "y":4, "w":1.25}]
+            "layout": [
+                {"matrix": [0, 0], "x": 0, "y": 0},
+                {"matrix": [0, 1], "x": 1, "y": 0},
+                {"matrix": [0, 2], "x": 2, "y": 0},
+                {"matrix": [0, 3], "x": 3, "y": 0},
+                {"matrix": [0, 4], "x": 4, "y": 0},
+                {"matrix": [0, 5], "x": 5, "y": 0},
+                {"matrix": [0, 6], "x": 6, "y": 0},
+
+                {"matrix": [0, 7], "x": 8.5, "y": 0},
+                {"matrix": [0, 8], "x": 9.5, "y": 0},
+                {"matrix": [0, 9], "x": 10.5, "y": 0},
+                {"matrix": [0, 10], "x": 11.5, "y": 0},
+                {"matrix": [0, 11], "x": 12.5, "y": 0},
+                {"matrix": [0, 12], "x": 13.5, "y": 0},
+                {"matrix": [0, 13], "x": 14.5, "y": 0, "w": 2},
+
+                {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+                {"matrix": [1, 1], "x": 1.5, "y": 1},
+                {"matrix": [1, 2], "x": 2.5, "y": 1},
+                {"matrix": [1, 3], "x": 3.5, "y": 1},
+                {"matrix": [1, 4], "x": 4.5, "y": 1},
+                {"matrix": [1, 5], "x": 5.5, "y": 1},
+
+                {"matrix": [1, 6], "x": 8, "y": 1},
+                {"matrix": [1, 7], "x": 9, "y": 1},
+                {"matrix": [1, 8], "x": 10, "y": 1},
+                {"matrix": [1, 9], "x": 11, "y": 1},
+                {"matrix": [1, 10], "x": 12, "y": 1},
+                {"matrix": [1, 11], "x": 13, "y": 1},
+                {"matrix": [1, 12], "x": 14, "y": 1},
+                {"matrix": [1, 13], "x": 15, "y": 1, "w": 1.5},
+
+                {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+                {"matrix": [2, 1], "x": 1.75, "y": 2},
+                {"matrix": [2, 2], "x": 2.75, "y": 2},
+                {"matrix": [2, 3], "x": 3.75, "y": 2},
+                {"matrix": [2, 4], "x": 4.75, "y": 2},
+                {"matrix": [2, 5], "x": 5.75, "y": 2},
+
+                {"matrix": [2, 6], "x": 8.25, "y": 2},
+                {"matrix": [2, 7], "x": 9.25, "y": 2},
+                {"matrix": [2, 8], "x": 10.25, "y": 2},
+                {"matrix": [2, 9], "x": 11.25, "y": 2},
+                {"matrix": [2, 10], "x": 12.25, "y": 2},
+                {"matrix": [2, 11], "x": 13.25, "y": 2},
+                {"matrix": [2, 13], "x": 14.25, "y": 2, "w": 2.25},
+
+                {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+                {"matrix": [3, 1], "x": 2.25, "y": 3},
+                {"matrix": [3, 2], "x": 3.25, "y": 3},
+                {"matrix": [3, 3], "x": 4.25, "y": 3},
+                {"matrix": [3, 4], "x": 5.25, "y": 3},
+                {"matrix": [3, 5], "x": 6.25, "y": 3},
+
+                {"matrix": [3, 6], "x": 7.75, "y": 3},
+                {"matrix": [3, 7], "x": 8.75, "y": 3},
+                {"matrix": [3, 8], "x": 9.75, "y": 3},
+                {"matrix": [3, 9], "x": 10.75, "y": 3},
+                {"matrix": [3, 10], "x": 11.75, "y": 3},
+                {"matrix": [3, 11], "x": 12.75, "y": 3},
+                {"matrix": [3, 12], "x": 13.75, "y": 3, "w": 1.75},
+                {"matrix": [3, 13], "x": 15.5, "y": 3},
+
+                {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+                {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
+                {"matrix": [4, 2], "x": 3.75, "y": 4, "w": 1.25},
+                {"matrix": [4, 4], "x": 5, "y": 4, "w": 2.25},
+
+                {"matrix": [4, 7], "x": 7.75, "y": 4, "w": 2.75},
+                {"matrix": [4, 9], "x": 10.5, "y": 4, "w": 1.25},
+                {"matrix": [4, 11], "x": 12.75, "y": 4, "w": 1.25},
+                {"matrix": [4, 12], "x": 14, "y": 4, "w": 1.25},
+                {"matrix": [4, 13], "x": 15.25, "y": 4, "w": 1.25}
+            ]
         }
     }
 }
diff --git a/keyboards/primekb/meridian_rgb/meridian_rgb.h b/keyboards/primekb/meridian_rgb/meridian_rgb.h
deleted file mode 100644
index 8cff4ff96d..0000000000
--- a/keyboards/primekb/meridian_rgb/meridian_rgb.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
-Copyright 2022 Holten Campbell
-
-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/>.
-*/
-
-#pragma once
-
-#include "quantum.h"
-
-#define K_NO KC_NO
-
-#define LAYOUT( \
-	K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012,       K013, \
-	K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112,       K113, \
-	K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211,             K213, \
-	K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312,       K313, \
-	K400, K401,             K402, K404,       K407, K409,                   K411, K412, K413  \
-) \
-{ \
-	{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013 }, \
-	{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113 }, \
-	{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K_NO, K213 }, \
-	{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313}, \
-	{ K400, K401, K402, K_NO, K404, K_NO, K_NO, K407, K_NO, K409, K_NO, K411, K412, K413 }  \
-}
diff --git a/keyboards/primekb/prime_e/info.json b/keyboards/primekb/prime_e/info.json
index 51847d82a7..f94271be6c 100644
--- a/keyboards/primekb/prime_e/info.json
+++ b/keyboards/primekb/prime_e/info.json
@@ -13,12 +13,60 @@
   "processor": "atmega32u4",
   "bootloader": "atmel-dfu",
   "layouts": {
-      "LAYOUT": {
-          "layout": [{"x":0,"y":0}, {"x":1,"y":0}, {"x":2,"y":0}, {"x":3,"y":0}, {"x":4,"y":0}, {"x":5,"y":0}, {"x":7,"y":0}, {"x":8,"y":0}, {"x":9,"y":0}, {"x":10,"y":0}, {"x":11,"y":0}, {"x":12,"y":0}, {"x":13,"y":0},
-					 {"x":0,"y":1,"w":1.25}, {"x":1.25,"y":1}, {"x":2.25,"y":1}, {"x":3.25,"y":1}, {"x":4.25,"y":1}, {"x":5.25,"y":1}, {"x":7.25,"y":1}, {"x":8.25,"y":1}, {"x":9.25,"y":1}, {"x":10.25,"y":1}, {"x":11.25,"y":1}, {"x":12.25,"y":1,"w":1.75}, 
-					 {"x":0,"y":2,"w":1.75}, {"x":1.75,"y":2}, {"x":2.75,"y":2}, {"x":3.75,"y":2}, {"x":4.75,"y":2}, {"x":5.75,"y":2}, {"x":6.75,"y":2}, {"x":7.75,"y":2}, {"x":8.75,"y":2}, {"x":9.75,"y":2}, {"x":10.75,"y":2}, {"x":11.75,"y":2}, {"x":12.75,"y":2,"w":1.25},
-					 {"x":0,"y":3,"w":1.25}, {"x":1.25,"y":3,"w":1.25}, {"x":3.5,"y":3,"w":1.25}, {"x":4.75,"y":3,"w":2}, {"x":6.75,"y":3,"w":2.25}, {"x":9,"y":3,"w":1.25}, {"x":11.5,"y":3,"w":1.25}, {"x":12.75,"y":3,"w":1.25}
-					 ]
-      }
+    "LAYOUT": {
+      "layout": [
+        {"matrix": [0, 0], "x": 0, "y": 0},
+        {"matrix": [0, 1], "x": 1, "y": 0},
+        {"matrix": [0, 2], "x": 2, "y": 0},
+        {"matrix": [0, 3], "x": 3, "y": 0},
+        {"matrix": [0, 4], "x": 4, "y": 0},
+        {"matrix": [0, 5], "x": 5, "y": 0},
+
+        {"matrix": [0, 6], "x": 7, "y": 0},
+        {"matrix": [0, 7], "x": 8, "y": 0},
+        {"matrix": [0, 8], "x": 9, "y": 0},
+        {"matrix": [0, 9], "x": 10, "y": 0},
+        {"matrix": [0, 10], "x": 11, "y": 0},
+        {"matrix": [0, 11], "x": 12, "y": 0},
+        {"matrix": [0, 12], "x": 13, "y": 0},
+
+        {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.25},
+        {"matrix": [1, 1], "x": 1.25, "y": 1},
+        {"matrix": [1, 2], "x": 2.25, "y": 1},
+        {"matrix": [1, 3], "x": 3.25, "y": 1},
+        {"matrix": [1, 4], "x": 4.25, "y": 1},
+        {"matrix": [1, 5], "x": 5.25, "y": 1},
+
+        {"matrix": [1, 6], "x": 7.25, "y": 1},
+        {"matrix": [1, 7], "x": 8.25, "y": 1},
+        {"matrix": [1, 8], "x": 9.25, "y": 1},
+        {"matrix": [1, 9], "x": 10.25, "y": 1},
+        {"matrix": [1, 10], "x": 11.25, "y": 1},
+        {"matrix": [1, 12], "x": 12.25, "y": 1, "w": 1.75},
+
+        {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+        {"matrix": [2, 1], "x": 1.75, "y": 2},
+        {"matrix": [2, 2], "x": 2.75, "y": 2},
+        {"matrix": [2, 3], "x": 3.75, "y": 2},
+        {"matrix": [2, 4], "x": 4.75, "y": 2},
+        {"matrix": [2, 5], "x": 5.75, "y": 2},
+        {"matrix": [2, 6], "x": 6.75, "y": 2},
+        {"matrix": [2, 7], "x": 7.75, "y": 2},
+        {"matrix": [2, 8], "x": 8.75, "y": 2},
+        {"matrix": [2, 9], "x": 9.75, "y": 2},
+        {"matrix": [2, 10], "x": 10.75, "y": 2},
+        {"matrix": [2, 11], "x": 11.75, "y": 2},
+        {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 1.25},
+
+        {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
+        {"matrix": [3, 1], "x": 1.25, "y": 3, "w": 1.25},
+        {"matrix": [3, 3], "x": 3.5, "y": 3, "w": 1.25},
+        {"matrix": [3, 4], "x": 4.75, "y": 3, "w": 2},
+        {"matrix": [3, 6], "x": 6.75, "y": 3, "w": 2.25},
+        {"matrix": [3, 8], "x": 9, "y": 3, "w": 1.25},
+        {"matrix": [3, 11], "x": 11.5, "y": 3, "w": 1.25},
+        {"matrix": [3, 12], "x": 12.75, "y": 3, "w": 1.25}
+      ]
+    }
   }
 }
diff --git a/keyboards/primekb/prime_e/prime_e.h b/keyboards/primekb/prime_e/prime_e.h
deleted file mode 100644
index 8de0af4622..0000000000
--- a/keyboards/primekb/prime_e/prime_e.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright 2019 Holten Campbell
- *
- * 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/>.
- */
-
-
-#pragma once
-
-#include "quantum.h"
-
-#define LAYOUT( \
-	K000, K001, K002, K003, K004, K005,  		K006, K007, K008, K009, K010, K011, K012, \
-	K100, K101, K102, K103, K104, K105,  		K106, K107, K108, K109, K110, K112, \
-	K200, K201, K202, K203, K204, K205,  		K206, K207, K208, K209, K210, K211, K212, \
-	K300, K301,  			K303, K304,  		K306, K308, 				K311, K312 \
-) { \
-	{ K000,  K001,  K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012 }, \
-	{ K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  KC_NO, K112 }, \
-	{ K200,  K201,  K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212 }, \
-	{ K300,  K301,  KC_NO, K303,  K304,  KC_NO, K306,  KC_NO, K308,  KC_NO, KC_NO, K311,  K312 } \
-}
diff --git a/keyboards/primekb/prime_l/info.json b/keyboards/primekb/prime_l/info.json
index b9c5545ca7..93bb4432e2 100644
--- a/keyboards/primekb/prime_l/info.json
+++ b/keyboards/primekb/prime_l/info.json
@@ -6,10 +6,5 @@
     "vid": "0x5052"
   },
   "processor": "atmega32u4",
-  "bootloader": "atmel-dfu",
-  "layouts": {
-      "LAYOUT": {
-          "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "y":1}, {"x":13, "y":1}, {"x":14, "y":1}, {"x":15, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2, "w":1.25}, {"x":4.25, "y":2}, {"x":5.25, "y":2}, {"x":6.25, "y":2}, {"x":7.25, "y":2}, {"x":8.25, "y":2}, {"x":9.25, "y":2}, {"x":10.25, "y":2}, {"x":11.25, "y":2}, {"x":12.25, "y":2}, {"x":13.25, "y":2}, {"x":14.25, "y":2, "w":1.75}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3, "w":1.75}, {"x":4.75, "y":3}, {"x":5.75, "y":3}, {"x":6.75, "y":3}, {"x":7.75, "y":3}, {"x":8.75, "y":3}, {"x":9.75, "y":3}, {"x":10.75, "y":3}, {"x":11.75, "y":3}, {"x":12.75, "y":3}, {"x":13.75, "y":3}, {"x":14.75, "y":3, "w":1.25}, {"x":0, "y":4}, {"x":1, "y":4}, {"x":2, "y":4}, {"x":3, "y":4, "w":1.25}, {"x":4.25, "y":4, "w":1.25}, {"x":5.5, "y":4}, {"x":6.5, "y":4}, {"x":7.5, "y":4, "w":2}, {"x":9.5, "y":4, "w":2.25}, {"x":11.75, "y":4}, {"x":12.75, "y":4}, {"x":13.75, "y":4}, {"x":14.75, "y":4, "w":1.25}]
-      }
-  }
+  "bootloader": "atmel-dfu"
 }
diff --git a/keyboards/primekb/prime_l/v1/info.json b/keyboards/primekb/prime_l/v1/info.json
index 079c39571b..c68d992943 100644
--- a/keyboards/primekb/prime_l/v1/info.json
+++ b/keyboards/primekb/prime_l/v1/info.json
@@ -15,9 +15,89 @@
     "pin": "B6",
     "levels": 4
   },
-  "layouts": {
-      "LAYOUT": {
-          "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "y":1}, {"x":13, "y":1}, {"x":14, "y":1}, {"x":15, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2, "w":1.25}, {"x":4.25, "y":2}, {"x":5.25, "y":2}, {"x":6.25, "y":2}, {"x":7.25, "y":2}, {"x":8.25, "y":2}, {"x":9.25, "y":2}, {"x":10.25, "y":2}, {"x":11.25, "y":2}, {"x":12.25, "y":2}, {"x":13.25, "y":2}, {"x":14.25, "y":2, "w":1.75}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3, "w":1.75}, {"x":4.75, "y":3}, {"x":5.75, "y":3}, {"x":6.75, "y":3}, {"x":7.75, "y":3}, {"x":8.75, "y":3}, {"x":9.75, "y":3}, {"x":10.75, "y":3}, {"x":11.75, "y":3}, {"x":12.75, "y":3}, {"x":13.75, "y":3}, {"x":14.75, "y":3, "w":1.25}, {"x":0, "y":4}, {"x":1, "y":4}, {"x":2, "y":4}, {"x":3, "y":4, "w":1.25}, {"x":4.25, "y":4, "w":1.25}, {"x":5.5, "y":4}, {"x":6.5, "y":4}, {"x":7.5, "y":4, "w":2}, {"x":9.5, "y":4, "w":2.25}, {"x":11.75, "y":4}, {"x":12.75, "y":4}, {"x":13.75, "y":4}, {"x":14.75, "y":4, "w":1.25}]
-      }
-  }
+    "layouts": {
+        "LAYOUT": {
+            "layout": [
+                {"matrix": [0, 0], "x": 0, "y": 0},
+                {"matrix": [0, 1], "x": 1, "y": 0},
+                {"matrix": [0, 2], "x": 2, "y": 0},
+                {"matrix": [0, 3], "x": 3, "y": 0},
+                {"matrix": [0, 4], "x": 4, "y": 0},
+                {"matrix": [0, 5], "x": 5, "y": 0},
+                {"matrix": [0, 6], "x": 6, "y": 0},
+                {"matrix": [0, 7], "x": 7, "y": 0},
+                {"matrix": [0, 8], "x": 8, "y": 0},
+                {"matrix": [0, 9], "x": 9, "y": 0},
+                {"matrix": [0, 10], "x": 10, "y": 0},
+                {"matrix": [0, 11], "x": 11, "y": 0},
+                {"matrix": [0, 12], "x": 12, "y": 0},
+                {"matrix": [0, 13], "x": 13, "y": 0},
+                {"matrix": [0, 14], "x": 14, "y": 0},
+                {"matrix": [0, 15], "x": 15, "y": 0},
+
+                {"matrix": [1, 0], "x": 0, "y": 1},
+                {"matrix": [1, 1], "x": 1, "y": 1},
+                {"matrix": [1, 2], "x": 2, "y": 1},
+                {"matrix": [1, 3], "x": 3, "y": 1},
+                {"matrix": [1, 4], "x": 4, "y": 1},
+                {"matrix": [1, 5], "x": 5, "y": 1},
+                {"matrix": [1, 6], "x": 6, "y": 1},
+                {"matrix": [1, 7], "x": 7, "y": 1},
+                {"matrix": [1, 8], "x": 8, "y": 1},
+                {"matrix": [1, 9], "x": 9, "y": 1},
+                {"matrix": [1, 10], "x": 10, "y": 1},
+                {"matrix": [1, 11], "x": 11, "y": 1},
+                {"matrix": [1, 12], "x": 12, "y": 1},
+                {"matrix": [1, 13], "x": 13, "y": 1},
+                {"matrix": [1, 14], "x": 14, "y": 1},
+                {"matrix": [1, 15], "x": 15, "y": 1},
+
+                {"matrix": [2, 0], "x": 0, "y": 2},
+                {"matrix": [2, 1], "x": 1, "y": 2},
+                {"matrix": [2, 2], "x": 2, "y": 2},
+                {"matrix": [2, 3], "x": 3, "y": 2, "w": 1.25},
+                {"matrix": [2, 4], "x": 4.25, "y": 2},
+                {"matrix": [2, 5], "x": 5.25, "y": 2},
+                {"matrix": [2, 6], "x": 6.25, "y": 2},
+                {"matrix": [2, 7], "x": 7.25, "y": 2},
+                {"matrix": [2, 8], "x": 8.25, "y": 2},
+                {"matrix": [2, 9], "x": 9.25, "y": 2},
+                {"matrix": [2, 10], "x": 10.25, "y": 2},
+                {"matrix": [2, 11], "x": 11.25, "y": 2},
+                {"matrix": [2, 12], "x": 12.25, "y": 2},
+                {"matrix": [2, 13], "x": 13.25, "y": 2},
+                {"matrix": [2, 15], "x": 14.25, "y": 2, "w": 1.75},
+
+                {"matrix": [3, 0], "x": 0, "y": 3},
+                {"matrix": [3, 1], "x": 1, "y": 3},
+                {"matrix": [3, 2], "x": 2, "y": 3},
+                {"matrix": [3, 3], "x": 3, "y": 3, "w": 1.75},
+                {"matrix": [3, 5], "x": 4.75, "y": 3},
+                {"matrix": [3, 6], "x": 5.75, "y": 3},
+                {"matrix": [3, 7], "x": 6.75, "y": 3},
+                {"matrix": [3, 8], "x": 7.75, "y": 3},
+                {"matrix": [3, 9], "x": 8.75, "y": 3},
+                {"matrix": [3, 10], "x": 9.75, "y": 3},
+                {"matrix": [3, 11], "x": 10.75, "y": 3},
+                {"matrix": [3, 12], "x": 11.75, "y": 3},
+                {"matrix": [3, 13], "x": 12.75, "y": 3},
+                {"matrix": [3, 14], "x": 13.75, "y": 3},
+                {"matrix": [3, 15], "x": 14.75, "y": 3, "w": 1.25},
+
+                {"matrix": [4, 0], "x": 0, "y": 4},
+                {"matrix": [4, 1], "x": 1, "y": 4},
+                {"matrix": [4, 2], "x": 2, "y": 4},
+                {"matrix": [4, 3], "x": 3, "y": 4, "w": 1.25},
+                {"matrix": [4, 5], "x": 4.25, "y": 4, "w": 1.25},
+                {"matrix": [4, 6], "x": 5.5, "y": 4},
+                {"matrix": [4, 7], "x": 6.5, "y": 4},
+                {"matrix": [4, 8], "x": 7.5, "y": 4, "w": 2},
+                {"matrix": [4, 10], "x": 9.5, "y": 4, "w": 2.25},
+                {"matrix": [4, 12], "x": 11.75, "y": 4},
+                {"matrix": [4, 13], "x": 12.75, "y": 4},
+                {"matrix": [4, 14], "x": 13.75, "y": 4},
+                {"matrix": [4, 15], "x": 14.75, "y": 4, "w": 1.25}
+            ]
+        }
+    }
 }
diff --git a/keyboards/primekb/prime_l/v1/v1.h b/keyboards/primekb/prime_l/v1/v1.h
deleted file mode 100644
index 4ee291679f..0000000000
--- a/keyboards/primekb/prime_l/v1/v1.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright 2018 Jumail Mundekkat
- *
- * 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/>.
- */
-
-#pragma once
-
-#include "quantum.h"
-
-#define LAYOUT( \
-	K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
-	K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
-	K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213,    K215    , \
-	K300, K301, K302, K303,       K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
-	K400, K401, K402, K403,       K405, K406, K407, K408,       K410,       K412, K413, K414, K415  \
-) { \
-	{ K000,  K001,  K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012,  K013,  K014,  K015 }, \
-	{ K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112,  K113,  K114,  K115 }, \
-	{ K200,  K201,  K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  K213,  KC_NO, K215 }, \
-	{ K300,  K301,  K302,  K303,  KC_NO, K305,  K306,  K307,  K308,  K309,  K310,  K311,  K312,  K313,  K314,  K315 }, \
-	{ K400,  K401,  K402,  K403,  KC_NO, K405,  K406,  K407,  K408,  KC_NO, K410,  KC_NO, K412,  K413,  K414,  K415 }  \
-}
diff --git a/keyboards/primekb/prime_l/v2/info.json b/keyboards/primekb/prime_l/v2/info.json
index a97809736e..77e2a3a750 100644
--- a/keyboards/primekb/prime_l/v2/info.json
+++ b/keyboards/primekb/prime_l/v2/info.json
@@ -12,12 +12,88 @@
   },
   "diode_direction": "COL2ROW",
   "layouts": {
-      "LAYOUT": {
-          "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "y":0}, 
-                    {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "y":1}, {"x":13, "y":1}, {"x":14, "y":1}, {"x":15, "y":1}, 
-                    {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2, "w":1.25}, {"x":4.25, "y":2}, {"x":5.25, "y":2}, {"x":6.25, "y":2}, {"x":7.25, "y":2}, {"x":8.25, "y":2}, {"x":9.25, "y":2}, {"x":10.25, "y":2}, {"x":11.25, "y":2}, {"x":12.25, "y":2}, {"x":13.25, "y":2}, {"x":14.25, "y":2, "w":1.75}, 
-                    {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3, "w":1.75}, {"x":4.75, "y":3}, {"x":5.75, "y":3}, {"x":6.75, "y":3}, {"x":7.75, "y":3}, {"x":8.75, "y":3}, {"x":9.75, "y":3}, {"x":10.75, "y":3}, {"x":11.75, "y":3}, {"x":12.75, "y":3}, {"x":13.75, "y":3}, {"x":14.75, "y":3, "w":1.25}, 
-                    {"x":0, "y":4}, {"x":1, "y":4}, {"x":2, "y":4}, {"x":3, "y":4, "w":1.25}, {"x":4.25, "y":4, "w":1.25}, {"x":5.5, "y":4}, {"x":6.5, "y":4, "w":1.25}, {"x":7.75, "y":4, "w":1.75}, {"x":9.5, "y":4, "w":1.75}, {"x":11.25, "y":4, "w":1.25}, {"x":12.5, "y":4}, {"x":13.5, "y":4, "w":1.25}, {"x":14.75, "y":4, "w":1.25}]
-      }
+    "LAYOUT": {
+      "layout": [
+        {"matrix": [0, 0], "x": 0, "y": 0},
+        {"matrix": [0, 1], "x": 1, "y": 0},
+        {"matrix": [0, 2], "x": 2, "y": 0},
+        {"matrix": [0, 3], "x": 3, "y": 0},
+        {"matrix": [0, 4], "x": 4, "y": 0},
+        {"matrix": [0, 5], "x": 5, "y": 0},
+        {"matrix": [0, 6], "x": 6, "y": 0},
+        {"matrix": [0, 7], "x": 7, "y": 0},
+        {"matrix": [0, 8], "x": 8, "y": 0},
+        {"matrix": [0, 9], "x": 9, "y": 0},
+        {"matrix": [0, 10], "x": 10, "y": 0},
+        {"matrix": [0, 11], "x": 11, "y": 0},
+        {"matrix": [0, 12], "x": 12, "y": 0},
+        {"matrix": [0, 13], "x": 13, "y": 0},
+        {"matrix": [0, 14], "x": 14, "y": 0},
+        {"matrix": [0, 15], "x": 15, "y": 0},
+
+        {"matrix": [1, 0], "x": 0, "y": 1},
+        {"matrix": [1, 1], "x": 1, "y": 1},
+        {"matrix": [1, 2], "x": 2, "y": 1},
+        {"matrix": [1, 3], "x": 3, "y": 1},
+        {"matrix": [1, 4], "x": 4, "y": 1},
+        {"matrix": [1, 5], "x": 5, "y": 1},
+        {"matrix": [1, 6], "x": 6, "y": 1},
+        {"matrix": [1, 7], "x": 7, "y": 1},
+        {"matrix": [1, 8], "x": 8, "y": 1},
+        {"matrix": [1, 9], "x": 9, "y": 1},
+        {"matrix": [1, 10], "x": 10, "y": 1},
+        {"matrix": [1, 11], "x": 11, "y": 1},
+        {"matrix": [1, 12], "x": 12, "y": 1},
+        {"matrix": [1, 13], "x": 13, "y": 1},
+        {"matrix": [1, 14], "x": 14, "y": 1},
+        {"matrix": [1, 15], "x": 15, "y": 1},
+
+        {"matrix": [2, 0], "x": 0, "y": 2},
+        {"matrix": [2, 1], "x": 1, "y": 2},
+        {"matrix": [2, 2], "x": 2, "y": 2},
+        {"matrix": [2, 3], "x": 3, "y": 2, "w": 1.25},
+        {"matrix": [2, 4], "x": 4.25, "y": 2},
+        {"matrix": [2, 5], "x": 5.25, "y": 2},
+        {"matrix": [2, 6], "x": 6.25, "y": 2},
+        {"matrix": [2, 7], "x": 7.25, "y": 2},
+        {"matrix": [2, 8], "x": 8.25, "y": 2},
+        {"matrix": [2, 9], "x": 9.25, "y": 2},
+        {"matrix": [2, 10], "x": 10.25, "y": 2},
+        {"matrix": [2, 11], "x": 11.25, "y": 2},
+        {"matrix": [2, 12], "x": 12.25, "y": 2},
+        {"matrix": [2, 13], "x": 13.25, "y": 2},
+        {"matrix": [2, 15], "x": 14.25, "y": 2, "w": 1.75},
+
+        {"matrix": [3, 0], "x": 0, "y": 3},
+        {"matrix": [3, 1], "x": 1, "y": 3},
+        {"matrix": [3, 2], "x": 2, "y": 3},
+        {"matrix": [3, 3], "x": 3, "y": 3, "w": 1.75},
+        {"matrix": [3, 4], "x": 4.75, "y": 3},
+        {"matrix": [3, 5], "x": 5.75, "y": 3},
+        {"matrix": [3, 6], "x": 6.75, "y": 3},
+        {"matrix": [3, 7], "x": 7.75, "y": 3},
+        {"matrix": [3, 8], "x": 8.75, "y": 3},
+        {"matrix": [3, 9], "x": 9.75, "y": 3},
+        {"matrix": [3, 10], "x": 10.75, "y": 3},
+        {"matrix": [3, 11], "x": 11.75, "y": 3},
+        {"matrix": [3, 12], "x": 12.75, "y": 3},
+        {"matrix": [3, 14], "x": 13.75, "y": 3},
+        {"matrix": [3, 15], "x": 14.75, "y": 3, "w": 1.25},
+
+        {"matrix": [4, 0], "x": 0, "y": 4},
+        {"matrix": [4, 1], "x": 1, "y": 4},
+        {"matrix": [4, 2], "x": 2, "y": 4},
+        {"matrix": [4, 3], "x": 3, "y": 4, "w": 1.25},
+        {"matrix": [4, 4], "x": 4.25, "y": 4, "w": 1.25},
+        {"matrix": [4, 5], "x": 5.5, "y": 4},
+        {"matrix": [4, 6], "x": 6.5, "y": 4, "w": 1.25},
+        {"matrix": [4, 7], "x": 7.5, "y": 4, "w": 2},
+        {"matrix": [4, 9], "x": 9.5, "y": 4, "w": 2.25},
+        {"matrix": [4, 11], "x": 11.75, "y": 4, "w": 1.25},
+        {"matrix": [4, 12], "x": 12.75, "y": 4},
+        {"matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25},
+        {"matrix": [4, 15], "x": 14.75, "y": 4, "w": 1.25}
+      ]
+    }
   }
 }
diff --git a/keyboards/primekb/prime_l/v2/v2.h b/keyboards/primekb/prime_l/v2/v2.h
deleted file mode 100644
index b0924d5d79..0000000000
--- a/keyboards/primekb/prime_l/v2/v2.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright 2020 Holten Campbell
- *
- * 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/>.
- */
-
-#pragma once
-
-#include "quantum.h"
-
-#define LAYOUT( \
-	K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
-	K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
-	K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213,    K215    , \
-	K300, K301, K302, K303,       K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
-	K400, K401, K402, K403,       K405, K406, K407, K408,       K410,       K412, K413, K414, K415  \
-) { \
-	{ K000,  K001,  K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012,  K013,  K014,  K015 }, \
-	{ K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112,  K113,  K114,  K115 }, \
-	{ K200,  K201,  K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  K213,  KC_NO, K215 }, \
-	{ K300,  K301,  K302,  K303,  K305,  K306,  K307,  K308,  K309,  K310,  K311,  K312,  K313,  KC_NO, K314,  K315 }, \
-	{ K400,  K401,  K402,  K403,  K405,  K406,  K407,  K408,  KC_NO, K410,  KC_NO, K412,  K413,  KC_NO, K414,  K415 }  \
-}
diff --git a/keyboards/primekb/prime_o/info.json b/keyboards/primekb/prime_o/info.json
index b826606770..2a3a59cfb6 100644
--- a/keyboards/primekb/prime_o/info.json
+++ b/keyboards/primekb/prime_o/info.json
@@ -20,8 +20,93 @@
   "processor": "atmega32u2",
   "bootloader": "atmel-dfu",
   "layouts": {
-      "LAYOUT": {
-          "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":15, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "y":1}, {"x":13, "y":1}, {"x":14, "y":1}, {"x":15, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":12, "y":2}, {"x":13, "y":2}, {"x":14, "y":2}, {"x":15, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3}, {"x":6, "y":3}, {"x":7, "y":3}, {"x":8, "y":3}, {"x":9, "y":3}, {"x":10, "y":3}, {"x":11, "y":3}, {"x":12, "y":3}, {"x":13, "y":3}, {"x":14, "y":3}, {"x":15, "y":3}, {"x":0, "y":4}, {"x":1, "y":4}, {"x":2, "y":4}, {"x":3, "y":4}, {"x":4, "y":4}, {"x":5, "y":4}, {"x":6, "y":4}, {"x":7, "y":4}, {"x":8, "y":4}, {"x":9, "y":4}, {"x":10, "y":4}, {"x":11, "y":4}, {"x":12, "y":4}, {"x":13, "y":4}, {"x":14, "y":4}, {"x":15, "y":4}]
-      }
+    "LAYOUT": {
+      "layout": [
+        {"matrix": [4, 0], "x": 0, "y": 0},
+        {"matrix": [5, 0], "x": 1, "y": 0},
+        {"matrix": [4, 1], "x": 2, "y": 0},
+        {"matrix": [5, 1], "x": 3, "y": 0},
+        {"matrix": [4, 2], "x": 4, "y": 0},
+        {"matrix": [5, 2], "x": 5, "y": 0},
+        {"matrix": [4, 3], "x": 6, "y": 0},
+        {"matrix": [5, 3], "x": 7, "y": 0},
+        {"matrix": [4, 4], "x": 8, "y": 0},
+        {"matrix": [5, 4], "x": 9, "y": 0},
+        {"matrix": [4, 5], "x": 10, "y": 0},
+        {"matrix": [5, 5], "x": 11, "y": 0},
+        {"matrix": [4, 6], "x": 12, "y": 0},
+        {"matrix": [5, 6], "x": 13, "y": 0},
+        {"matrix": [4, 7], "x": 14, "y": 0},
+        {"matrix": [5, 7], "x": 15, "y": 0},
+
+        {"matrix": [3, 0], "x": 0, "y": 1},
+        {"matrix": [6, 0], "x": 1, "y": 1},
+        {"matrix": [3, 1], "x": 2, "y": 1},
+        {"matrix": [6, 1], "x": 3, "y": 1},
+        {"matrix": [3, 2], "x": 4, "y": 1},
+        {"matrix": [6, 2], "x": 5, "y": 1},
+        {"matrix": [3, 3], "x": 6, "y": 1},
+        {"matrix": [6, 3], "x": 7, "y": 1},
+        {"matrix": [3, 4], "x": 8, "y": 1},
+        {"matrix": [6, 4], "x": 9, "y": 1},
+        {"matrix": [3, 5], "x": 10, "y": 1},
+        {"matrix": [6, 5], "x": 11, "y": 1},
+        {"matrix": [3, 6], "x": 12, "y": 1},
+        {"matrix": [6, 6], "x": 13, "y": 1},
+        {"matrix": [3, 7], "x": 14, "y": 1},
+        {"matrix": [6, 7], "x": 15, "y": 1},
+
+        {"matrix": [2, 0], "x": 0, "y": 2},
+        {"matrix": [7, 0], "x": 1, "y": 2},
+        {"matrix": [2, 1], "x": 2, "y": 2},
+        {"matrix": [7, 1], "x": 3, "y": 2},
+        {"matrix": [2, 2], "x": 4, "y": 2},
+        {"matrix": [7, 2], "x": 5, "y": 2},
+        {"matrix": [2, 3], "x": 6, "y": 2},
+        {"matrix": [7, 3], "x": 7, "y": 2},
+        {"matrix": [2, 4], "x": 8, "y": 2},
+        {"matrix": [7, 4], "x": 9, "y": 2},
+        {"matrix": [2, 5], "x": 10, "y": 2},
+        {"matrix": [7, 5], "x": 11, "y": 2},
+        {"matrix": [2, 6], "x": 12, "y": 2},
+        {"matrix": [7, 6], "x": 13, "y": 2},
+        {"matrix": [2, 7], "x": 14, "y": 2},
+        {"matrix": [7, 7], "x": 15, "y": 2},
+
+        {"matrix": [1, 0], "x": 0, "y": 3},
+        {"matrix": [8, 0], "x": 1, "y": 3},
+        {"matrix": [1, 1], "x": 2, "y": 3},
+        {"matrix": [8, 1], "x": 3, "y": 3},
+        {"matrix": [1, 2], "x": 4, "y": 3},
+        {"matrix": [8, 2], "x": 5, "y": 3},
+        {"matrix": [1, 3], "x": 6, "y": 3},
+        {"matrix": [8, 3], "x": 7, "y": 3},
+        {"matrix": [1, 4], "x": 8, "y": 3},
+        {"matrix": [8, 4], "x": 9, "y": 3},
+        {"matrix": [1, 5], "x": 10, "y": 3},
+        {"matrix": [8, 5], "x": 11, "y": 3},
+        {"matrix": [1, 6], "x": 12, "y": 3},
+        {"matrix": [8, 6], "x": 13, "y": 3},
+        {"matrix": [1, 7], "x": 14, "y": 3},
+        {"matrix": [8, 7], "x": 15, "y": 3},
+
+        {"matrix": [0, 0], "x": 0, "y": 4},
+        {"matrix": [9, 0], "x": 1, "y": 4},
+        {"matrix": [0, 1], "x": 2, "y": 4},
+        {"matrix": [9, 1], "x": 3, "y": 4},
+        {"matrix": [0, 2], "x": 4, "y": 4},
+        {"matrix": [9, 2], "x": 5, "y": 4},
+        {"matrix": [0, 3], "x": 6, "y": 4},
+        {"matrix": [9, 3], "x": 7, "y": 4},
+        {"matrix": [0, 4], "x": 8, "y": 4},
+        {"matrix": [9, 4], "x": 9, "y": 4},
+        {"matrix": [0, 5], "x": 10, "y": 4},
+        {"matrix": [9, 5], "x": 11, "y": 4},
+        {"matrix": [0, 6], "x": 12, "y": 4},
+        {"matrix": [9, 6], "x": 13, "y": 4},
+        {"matrix": [0, 7], "x": 14, "y": 4},
+        {"matrix": [9, 7], "x": 15, "y": 4}
+      ]
+    }
   }
 }
diff --git a/keyboards/primekb/prime_o/prime_o.h b/keyboards/primekb/prime_o/prime_o.h
deleted file mode 100644
index fec3392b31..0000000000
--- a/keyboards/primekb/prime_o/prime_o.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright 2018 Jumail Mundekkat
- *
- * 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/>.
- */
-
-#pragma once
-
-#include "quantum.h"
-
-#define LAYOUT( \
-    k40, k50, k41, k51, k42, k52, k43, k53, k44, k54, k45, k55, k46, k56, k47, k57, \
-    k30, k60, k31, k61, k32, k62, k33, k63, k34, k64, k35, k65, k36, k66, k37, k67, \
-    k20, k70, k21, k71, k22, k72, k23, k73, k24, k74, k25, k75, k26, k76, k27, k77, \
-    k10, k80, k11, k81, k12, k82, k13, k83, k14, k84, k15, k85, k16, k86, k17, k87, \
-    k00, k90, k01, k91, k02, k92, k03, k93, k04, k94, k05, k95, k06, k96, k07, k97 \
-) { \
-    { k00, k01, k02, k03, k04, k05, k06, k07 }, \
-    { k10, k11, k12, k13, k14, k15, k16, k17 }, \
-    { k20, k21, k22, k23, k24, k25, k26, k27 }, \
-    { k30, k31, k32, k33, k34, k35, k36, k37 }, \
-    { k40, k41, k42, k43, k44, k45, k46, k47 }, \
-    { k50, k51, k52, k53, k54, k55, k56, k57 }, \
-    { k60, k61, k62, k63, k64, k65, k66, k67 }, \
-    { k70, k71, k72, k73, k74, k75, k76, k77 }, \
-    { k80, k81, k82, k83, k84, k85, k86, k87 }, \
-    { k90, k91, k92, k93, k94, k95, k96, k97 } \
-}
diff --git a/keyboards/primekb/prime_r/info.json b/keyboards/primekb/prime_r/info.json
index e081dc388c..86c6db9c4f 100644
--- a/keyboards/primekb/prime_r/info.json
+++ b/keyboards/primekb/prime_r/info.json
@@ -21,7 +21,87 @@
   "bootloader": "atmel-dfu",
   "layouts": {
     "LAYOUT": {
-      "layout": [{"label":"K000", "x":0, "y":0}, {"label":"K001", "x":1, "y":0}, {"label":"K002", "x":2, "y":0}, {"label":"K003", "x":3, "y":0}, {"label":"K004", "x":4, "y":0}, {"label":"K005", "x":5, "y":0}, {"label":"K006", "x":6, "y":0}, {"label":"K007", "x":7, "y":0}, {"label":"K008", "x":8, "y":0}, {"label":"K009", "x":9, "y":0}, {"label":"K010", "x":10, "y":0}, {"label":"K011", "x":11, "y":0}, {"label":"K012", "x":12, "y":0}, {"label":"K013", "x":13, "y":0}, {"label":"K014", "x":14, "y":0}, {"label":"K015", "x":15, "y":0}, {"label":"K100", "x":0, "y":1}, {"label":"K101", "x":1, "y":1}, {"label":"K102", "x":2, "y":1}, {"label":"K103", "x":3, "y":1}, {"label":"K104", "x":4, "y":1}, {"label":"K105", "x":5, "y":1}, {"label":"K106", "x":6, "y":1}, {"label":"K107", "x":7, "y":1}, {"label":"K108", "x":8, "y":1}, {"label":"K109", "x":9, "y":1}, {"label":"K110", "x":10, "y":1}, {"label":"K111", "x":11, "y":1}, {"label":"K112", "x":12, "y":1}, {"label":"K113", "x":13, "y":1}, {"label":"K114", "x":14, "y":1}, {"label":"K115", "x":15, "y":1}, {"label":"K200", "x":0, "y":2, "w":1.25}, {"label":"K201", "x":1.25, "y":2}, {"label":"K202", "x":2.25, "y":2}, {"label":"K203", "x":3.25, "y":2}, {"label":"K204", "x":4.25, "y":2}, {"label":"K205", "x":5.25, "y":2}, {"label":"K206", "x":6.25, "y":2}, {"label":"K207", "x":7.25, "y":2}, {"label":"K208", "x":8.25, "y":2}, {"label":"K209", "x":9.25, "y":2}, {"label":"K210", "x":10.25, "y":2}, {"label":"K212", "x":11.25, "y":2, "w":1.75}, {"label":"K213", "x":13, "y":2}, {"label":"K214", "x":14, "y":2}, {"label":"K215", "x":15, "y":2}, {"label":"K300", "x":0, "y":3, "w":1.75}, {"label":"K302", "x":1.75, "y":3}, {"label":"K303", "x":2.75, "y":3}, {"label":"K304", "x":3.75, "y":3}, {"label":"K305", "x":4.75, "y":3}, {"label":"K306", "x":5.75, "y":3}, {"label":"K307", "x":6.75, "y":3}, {"label":"K308", "x":7.75, "y":3}, {"label":"K309", "x":8.75, "y":3}, {"label":"K310", "x":9.75, "y":3}, {"label":"K311", "x":10.75, "y":3}, {"label":"K312", "x":11.75, "y":3, "w":1.25}, {"label":"K313", "x":13, "y":3}, {"label":"K314", "x":14, "y":3}, {"label":"K315", "x":15, "y":3}, {"label":"K400", "x":0, "y":4, "w":1.25}, {"label":"K402", "x":1.25, "y":4, "w":1.25}, {"label":"K403", "x":2.5, "y":4}, {"label":"K404", "x":3.5, "y":4}, {"label":"K405", "x":4.5, "y":4, "w":2}, {"label":"K407", "x":6.5, "y":4, "w":2.25}, {"label":"K409", "x":8.75, "y":4}, {"label":"K410", "x":9.75, "y":4}, {"label":"K411", "x":10.75, "y":4}, {"label":"K412", "x":11.75, "y":4, "w":1.25}, {"label":"K413", "x":13, "y":4}, {"label":"K414", "x":14, "y":4}, {"label":"K415", "x":15, "y":4}]
+      "layout": [
+        {"matrix": [0, 0], "x": 0, "y": 0},
+        {"matrix": [0, 1], "x": 1, "y": 0},
+        {"matrix": [0, 2], "x": 2, "y": 0},
+        {"matrix": [0, 3], "x": 3, "y": 0},
+        {"matrix": [0, 4], "x": 4, "y": 0},
+        {"matrix": [0, 5], "x": 5, "y": 0},
+        {"matrix": [0, 6], "x": 6, "y": 0},
+        {"matrix": [0, 7], "x": 7, "y": 0},
+        {"matrix": [0, 8], "x": 8, "y": 0},
+        {"matrix": [0, 9], "x": 9, "y": 0},
+        {"matrix": [0, 10], "x": 10, "y": 0},
+        {"matrix": [0, 11], "x": 11, "y": 0},
+        {"matrix": [0, 12], "x": 12, "y": 0},
+        {"matrix": [0, 13], "x": 13, "y": 0},
+        {"matrix": [0, 14], "x": 14, "y": 0},
+        {"matrix": [0, 15], "x": 15, "y": 0},
+
+        {"matrix": [1, 0], "x": 0, "y": 1},
+        {"matrix": [1, 1], "x": 1, "y": 1},
+        {"matrix": [1, 2], "x": 2, "y": 1},
+        {"matrix": [1, 3], "x": 3, "y": 1},
+        {"matrix": [1, 4], "x": 4, "y": 1},
+        {"matrix": [1, 5], "x": 5, "y": 1},
+        {"matrix": [1, 6], "x": 6, "y": 1},
+        {"matrix": [1, 7], "x": 7, "y": 1},
+        {"matrix": [1, 8], "x": 8, "y": 1},
+        {"matrix": [1, 9], "x": 9, "y": 1},
+        {"matrix": [1, 10], "x": 10, "y": 1},
+        {"matrix": [1, 11], "x": 11, "y": 1},
+        {"matrix": [1, 12], "x": 12, "y": 1},
+        {"matrix": [1, 13], "x": 13, "y": 1},
+        {"matrix": [1, 14], "x": 14, "y": 1},
+        {"matrix": [1, 15], "x": 15, "y": 1},
+
+        {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.25},
+        {"matrix": [2, 1], "x": 1.25, "y": 2},
+        {"matrix": [2, 2], "x": 2.25, "y": 2},
+        {"matrix": [2, 3], "x": 3.25, "y": 2},
+        {"matrix": [2, 4], "x": 4.25, "y": 2},
+        {"matrix": [2, 5], "x": 5.25, "y": 2},
+        {"matrix": [2, 6], "x": 6.25, "y": 2},
+        {"matrix": [2, 7], "x": 7.25, "y": 2},
+        {"matrix": [2, 8], "x": 8.25, "y": 2},
+        {"matrix": [2, 9], "x": 9.25, "y": 2},
+        {"matrix": [2, 10], "x": 10.25, "y": 2},
+        {"matrix": [2, 12], "x": 11.25, "y": 2, "w": 1.75},
+        {"matrix": [2, 13], "x": 13, "y": 2},
+        {"matrix": [2, 14], "x": 14, "y": 2},
+        {"matrix": [2, 15], "x": 15, "y": 2},
+
+        {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
+        {"matrix": [3, 2], "x": 1.75, "y": 3},
+        {"matrix": [3, 3], "x": 2.75, "y": 3},
+        {"matrix": [3, 4], "x": 3.75, "y": 3},
+        {"matrix": [3, 5], "x": 4.75, "y": 3},
+        {"matrix": [3, 6], "x": 5.75, "y": 3},
+        {"matrix": [3, 7], "x": 6.75, "y": 3},
+        {"matrix": [3, 8], "x": 7.75, "y": 3},
+        {"matrix": [3, 9], "x": 8.75, "y": 3},
+        {"matrix": [3, 10], "x": 9.75, "y": 3},
+        {"matrix": [3, 11], "x": 10.75, "y": 3},
+        {"matrix": [3, 12], "x": 11.75, "y": 3, "w": 1.25},
+        {"matrix": [3, 13], "x": 13, "y": 3},
+        {"matrix": [3, 14], "x": 14, "y": 3},
+        {"matrix": [3, 15], "x": 15, "y": 3},
+
+        {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+        {"matrix": [4, 2], "x": 1.25, "y": 4, "w": 1.25},
+        {"matrix": [4, 3], "x": 2.5, "y": 4},
+        {"matrix": [4, 4], "x": 3.5, "y": 4},
+        {"matrix": [4, 5], "x": 4.5, "y": 4, "w": 2},
+        {"matrix": [4, 7], "x": 6.5, "y": 4, "w": 2.25},
+        {"matrix": [4, 9], "x": 8.75, "y": 4},
+        {"matrix": [4, 10], "x": 9.75, "y": 4},
+        {"matrix": [4, 11], "x": 10.75, "y": 4},
+        {"matrix": [4, 12], "x": 11.75, "y": 4, "w": 1.25},
+        {"matrix": [4, 13], "x": 13, "y": 4},
+        {"matrix": [4, 14], "x": 14, "y": 4},
+        {"matrix": [4, 15], "x": 15, "y": 4}
+      ]
     }
   }
 }
diff --git a/keyboards/primekb/prime_r/prime_r.h b/keyboards/primekb/prime_r/prime_r.h
deleted file mode 100644
index 905b5c8cf8..0000000000
--- a/keyboards/primekb/prime_r/prime_r.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright 2018 Andrew Heaston
- *
- * 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/>.
- */
-
-#pragma once
-
-#include "quantum.h"
-
-#define XXX KC_NO
-
-#define LAYOUT( \
-    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, \
-    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, \
-    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A,      k2C, k2D, k2E, k2F, \
-    k30,      k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, k3F, \
-    k40,      k42, k43, k44, k45,      k47,      k49, k4A, k4B, k4C, k4D, k4E, k4F \
-) { \
-    { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \
-    { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \
-    { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, XXX, k2C, k2D, k2E, k2F }, \
-    { k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, k3F }, \
-    { k40, XXX, k42, k43, k44, k45, XXX, k47, XXX, k49, k4A, k4B, k4C, k4D, k4E, k4F } \
-}