diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index c335f49d52f..177bb0a9617 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -179,6 +179,10 @@ "type": "string", "pattern": "^[A-K]\\d{1,2}$" }, + { + "type": "string", + "pattern": "^LINE_PIN\\d{1,2}$" + }, { "type": "number", "multipleOf": 1 @@ -198,6 +202,10 @@ "type": "string", "pattern": "^[A-K]\\d{1,2}$" }, + { + "type": "string", + "pattern": "^LINE_PIN\\d{1,2}$" + }, { "type": "number", "multipleOf": 1 @@ -216,6 +224,10 @@ "type": "string", "pattern": "^[A-K]\\d{1,2}$" }, + { + "type": "string", + "pattern": "^LINE_PIN\\d{1,2}$" + }, { "type": "number", "multipleOf": 1 @@ -261,7 +273,7 @@ }, "pin": { "type": "string", - "pattern": "^[A-K]\\d{1,2}$" + "pattern": "^([A-K]\\d{1,2}|LINE_PIN\\d{1,2})$" }, "saturation_steps": { "type": "number", diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py index 47c8bff7a8c..b43cf4e4176 100644 --- a/lib/python/qmk/info.py +++ b/lib/python/qmk/info.py @@ -146,6 +146,9 @@ def _pin_name(pin): elif pin[0] in 'ABCDEFGHIJK' and pin[1].isdigit(): return pin + elif pin.startswith('LINE_PIN'): + return pin + raise ValueError(f'Invalid pin: {pin}')