From c0185116d780cee4bf61c70be0221be2e8ce5962 Mon Sep 17 00:00:00 2001
From: Joel Challis <git@zvecr.com>
Date: Fri, 4 Mar 2022 17:06:15 +0000
Subject: [PATCH] More validation of declared LAYOUT macro names (#16520)

---
 data/schemas/definitions.jsonschema | 28 +++++++++++++++++++++++++++-
 data/schemas/keyboard.jsonschema    |  1 +
 2 files changed, 28 insertions(+), 1 deletion(-)

diff --git a/data/schemas/definitions.jsonschema b/data/schemas/definitions.jsonschema
index 9fd503a108..46aba52cbd 100644
--- a/data/schemas/definitions.jsonschema
+++ b/data/schemas/definitions.jsonschema
@@ -33,7 +33,33 @@
         "oneOf": [
             {
                 "type": "string",
-                "enum": ["LAYOUT", "LAYOUT_planck_1x2uC"]
+                "enum": [
+                    "LAYOUT",
+                    "LAYOUT_1x2uC",
+                    "LAYOUT_1x2uL",
+                    "LAYOUT_1x2uR",
+                    "LAYOUT_2x2uC",
+                    "LAYOUT_2x3uC",
+                    "LAYOUT_625uC",
+                    "LAYOUT_ANSI_DEFAULT",
+                    "LAYOUT_JP",
+                    "LAYOUT_ortho_3x12_1x2uC",
+                    "LAYOUT_ortho_4x12_1x2uC",
+                    "LAYOUT_ortho_4x12_1x2uL",
+                    "LAYOUT_ortho_4x12_1x2uR",
+                    "LAYOUT_ortho_5x12_1x2uC",
+                    "LAYOUT_ortho_5x12_2x2uC",
+                    "LAYOUT_ortho_5x14_1x2uC",
+                    "LAYOUT_ortho_5x14_1x2uL",
+                    "LAYOUT_ortho_5x14_1x2uR",
+                    "LAYOUT_planck_1x2uC",
+                    "LAYOUT_planck_1x2uL",
+                    "LAYOUT_planck_1x2uR",
+                    "LAYOUT_preonic_1x2uC",
+                    "LAYOUT_preonic_1x2uL",
+                    "LAYOUT_preonic_1x2uR",
+                    "LAYOUT_reviung34_2uL"
+                ]
             },
             {
                 "type": "string",
diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema
index fc0844a086..a8b3d06933 100644
--- a/data/schemas/keyboard.jsonschema
+++ b/data/schemas/keyboard.jsonschema
@@ -109,6 +109,7 @@
         },
         "layouts": {
             "type": "object",
+            "propertyNames": {"$ref": "qmk.definitions.v1#/layout_macro"},
             "additionalProperties": {
                 "type": "object",
                 "additionalProperties": false,