From 4e86dca49d5b86cf47d6b43172f0d4b17f15cd3a Mon Sep 17 00:00:00 2001
From: Joel Challis <git@zvecr.com>
Date: Wed, 27 Sep 2023 03:57:37 +0100
Subject: [PATCH] Fix parsing/validation for 21939 (#22148)

---
 data/schemas/keyboard.jsonschema | 4 ++--
 lib/python/qmk/info.py           | 2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema
index 9c63ab8bcf..e0be8f5b97 100644
--- a/data/schemas/keyboard.jsonschema
+++ b/data/schemas/keyboard.jsonschema
@@ -404,7 +404,7 @@
                 "speed_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
                 "led_flush_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"},
                 "led_process_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"},
-                "react_on_keyup": {"$ref": "qmk.definitions.v1#/unsigned_int"},
+                "react_on_keyup": {"type": "boolean"},
                 "sleep": {"type": "boolean"},
                 "split_count": {
                     "type": "array",
@@ -460,7 +460,7 @@
                 "speed_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
                 "led_flush_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"},
                 "led_process_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"},
-                "react_on_keyup": {"$ref": "qmk.definitions.v1#/unsigned_int"},
+                "react_on_keyup": {"type": "boolean"},
                 "sleep": {"type": "boolean"},
                 "split_count": {
                     "type": "array",
diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py
index 9c8521a2a3..4806add67a 100644
--- a/lib/python/qmk/info.py
+++ b/lib/python/qmk/info.py
@@ -520,6 +520,8 @@ def _config_to_json(key_type, config_value):
             return list(map(str.strip, config_value.split(',')))
 
     elif key_type == 'bool':
+        if isinstance(config_value, bool):
+            return config_value
         return config_value in true_values
 
     elif key_type == 'hex':