This commit is contained in:
Buckwich 2024-11-13 21:53:29 +01:00
parent 9ba088133e
commit 250c987bc8

View File

@ -40,7 +40,8 @@
"type": "object", "type": "object",
"properties": { "properties": {
"pins": { "pins": {
"$ref": "qmk.definitions.v1#/mcu_pin_array" "$ref": "qmk.definitions.v1#/mcu_pin_array",
"description": "A list of GPIO pins connected to the MCU."
} }
} }
} }
@ -56,9 +57,7 @@
"description": "A free-form text string describing the keyboard. This will be used as the USB product string. Can include Unicode characters, escaped to ASCII eg. `\\u03A8` (Ψ).", "description": "A free-form text string describing the keyboard. This will be used as the USB product string. Can include Unicode characters, escaped to ASCII eg. `\\u03A8` (Ψ).",
"examples": ["Clueboard 66%"] "examples": ["Clueboard 66%"]
}, },
"keyboard_folder": { "keyboard_folder": {"$ref": "qmk.definitions.v1#/keyboard"},
"$ref": "qmk.definitions.v1#/keyboard"
},
"maintainer": { "maintainer": {
"$ref": "qmk.definitions.v1#/text_identifier", "$ref": "qmk.definitions.v1#/text_identifier",
"description": "GitHub username of the maintainer, or `qmk` for community maintained boards.", "description": "GitHub username of the maintainer, or `qmk` for community maintained boards.",
@ -205,12 +204,7 @@
}, },
"driver": { "driver": {
"type": "string", "type": "string",
"enum": [ "enum": ["dac_additive", "dac_basic", "pwm_software", "pwm_hardware"],
"dac_additive",
"dac_basic",
"pwm_software",
"pwm_hardware"
],
"description": "The driver to use. Must be one of `dac_additive`, `dac_basic`, `pwm_software`, `pwm_hardware`." "description": "The driver to use. Must be one of `dac_additive`, `dac_basic`, `pwm_software`, `pwm_hardware`."
}, },
"macro_beep": { "macro_beep": {
@ -341,10 +335,7 @@
"type": "array", "type": "array",
"minItems": 2, "minItems": 2,
"maxItems": 2, "maxItems": 2,
"items": { "items": {"type": "integer", "minimum": 0},
"type": "integer",
"minimum": 0
},
"default": [0, 0], "default": [0, 0],
"description": "The matrix position of the key to check during startup. This should generally be set to the (physically) top left key." "description": "The matrix position of the key to check during startup. This should generally be set to the (physically) top left key."
} }
@ -462,9 +453,7 @@
"combo": { "combo": {
"type": "object", "type": "object",
"properties": { "properties": {
"count": { "count": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"$ref": "qmk.definitions.v1#/unsigned_int"
},
"term": { "term": {
"$ref": "qmk.definitions.v1#/unsigned_int", "$ref": "qmk.definitions.v1#/unsigned_int",
"default": "`50` (50 ms)", "default": "`50` (50 ms)",
@ -474,11 +463,11 @@
}, },
"community_layouts": { "community_layouts": {
"type": "array", "type": "array",
"items": { "items": {"$ref": "qmk.definitions.v1#/filename"},
"$ref": "qmk.definitions.v1#/filename"
},
"description": "A list of community layouts supported by the keyboard.", "description": "A list of community layouts supported by the keyboard.",
"examples": [["60_ansi", "60_iso"]] "examples": [
["60_ansi", "60_iso"]
]
}, },
"dip_switch": { "dip_switch": {
"$ref": "#/definitions/dip_switch_config", "$ref": "#/definitions/dip_switch_config",
@ -495,10 +484,7 @@
"type": "array", "type": "array",
"minItems": 2, "minItems": 2,
"maxItems": 2, "maxItems": 2,
"items": { "items": {"type": "integer", "minimum": 0}
"type": "integer",
"minimum": 0
}
}, },
"description": "A list of matrix locations in the key matrix.", "description": "A list of matrix locations in the key matrix.",
"examples": [ "examples": [
@ -508,9 +494,6 @@
[2, 6] [2, 6]
] ]
] ]
},
"pins": {
"description": "A list of GPIO pins connected to the MCU."
} }
} }
}, },
@ -551,25 +534,18 @@
"encoder": { "encoder": {
"$ref": "#/definitions/encoder_config", "$ref": "#/definitions/encoder_config",
"properties": { "properties": {
"enabled": { "enabled": {"type": "boolean"}
"type": "boolean"
}
} }
}, },
"features": { "features": {
"$ref": "qmk.definitions.v1#/boolean_array", "$ref": "qmk.definitions.v1#/boolean_array",
"propertyNames": { "propertyNames": {"$ref": "qmk.definitions.v1#/snake_case"},
"$ref": "qmk.definitions.v1#/snake_case"
},
"not": { "not": {
"required": ["lto"] "required": ["lto"]
}, },
"description": "A dictionary of features to enable or disable.", "description": "A dictionary of features to enable or disable.",
"examples": [ "examples": [
{ {"rgb_matrix": true, "rgblight": false}
"rgb_matrix": true,
"rgblight": false
}
] ]
}, },
"indicators": { "indicators": {
@ -605,18 +581,10 @@
"joystick": { "joystick": {
"type": "object", "type": "object",
"properties": { "properties": {
"enabled": { "enabled": {"type": "boolean"},
"type": "boolean" "driver": {"type": "string"},
}, "button_count": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"driver": { "axis_resolution": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"type": "string"
},
"button_count": {
"$ref": "qmk.definitions.v1#/unsigned_int"
},
"axis_resolution": {
"$ref": "qmk.definitions.v1#/unsigned_int"
},
"axes": { "axes": {
"type": "object", "type": "object",
"propertyNames": { "propertyNames": {
@ -627,18 +595,10 @@
{ {
"type": "object", "type": "object",
"properties": { "properties": {
"input_pin": { "input_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
"$ref": "qmk.definitions.v1#/mcu_pin" "low": {"$ref": "qmk.definitions.v1#/unsigned_int"},
}, "rest": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"low": { "high": {"$ref": "qmk.definitions.v1#/unsigned_int"}
"$ref": "qmk.definitions.v1#/unsigned_int"
},
"rest": {
"$ref": "qmk.definitions.v1#/unsigned_int"
},
"high": {
"$ref": "qmk.definitions.v1#/unsigned_int"
}
} }
}, },
{ {
@ -650,14 +610,10 @@
} }
} }
}, },
"keycodes": { "keycodes": {"$ref": "qmk.definitions.v1#/keycode_decl_array"},
"$ref": "qmk.definitions.v1#/keycode_decl_array"
},
"layout_aliases": { "layout_aliases": {
"type": "object", "type": "object",
"additionalProperties": { "additionalProperties": {"$ref": "qmk.definitions.v1#/layout_macro"},
"$ref": "qmk.definitions.v1#/layout_macro"
},
"description": "A mapping of layout aliases to layout definitions.", "description": "A mapping of layout aliases to layout definitions.",
"examples": [ "examples": [
{ {
@ -668,22 +624,14 @@
}, },
"layouts": { "layouts": {
"type": "object", "type": "object",
"propertyNames": { "propertyNames": {"$ref": "qmk.definitions.v1#/layout_macro"},
"$ref": "qmk.definitions.v1#/layout_macro"
},
"additionalProperties": { "additionalProperties": {
"type": "object", "type": "object",
"additionalProperties": false, "additionalProperties": false,
"properties": { "properties": {
"filename": { "filename": {"type": "string"},
"type": "string" "c_macro": {"type": "boolean"},
}, "json_layout": {"type": "boolean"},
"c_macro": {
"type": "boolean"
},
"json_layout": {
"type": "boolean"
},
"layout": { "layout": {
"type": "array", "type": "array",
"items": { "items": {
@ -705,10 +653,7 @@
"type": "array", "type": "array",
"minItems": 2, "minItems": 2,
"maxItems": 2, "maxItems": 2,
"items": { "items": {"type": "integer", "minimum": 0},
"type": "integer",
"minimum": 0
},
"examples": ["`[0, 4]` (row 0, column 4)"], "examples": ["`[0, 4]` (row 0, column 4)"],
"description": "The matrix position for the key." "description": "The matrix position for the key."
}, },
@ -810,9 +755,7 @@
}, },
"direct": { "direct": {
"type": "array", "type": "array",
"items": { "items": {"$ref": "qmk.definitions.v1#/mcu_pin_array"},
"$ref": "qmk.definitions.v1#/mcu_pin_array"
},
"description": "A 2-dimensional list of GPIO pins connected to each keyswitch, forming the \"matrix\" rows and columns.", "description": "A 2-dimensional list of GPIO pins connected to each keyswitch, forming the \"matrix\" rows and columns.",
"examples": [ "examples": [
[ [
@ -825,12 +768,16 @@
"cols": { "cols": {
"$ref": "qmk.definitions.v1#/mcu_pin_array", "$ref": "qmk.definitions.v1#/mcu_pin_array",
"description": "A list of GPIO pins connected to the matrix columns.", "description": "A list of GPIO pins connected to the matrix columns.",
"examples": [["A0", "A1", "A2"]] "examples": [
["A0", "A1", "A2"]
]
}, },
"rows": { "rows": {
"$ref": "qmk.definitions.v1#/mcu_pin_array", "$ref": "qmk.definitions.v1#/mcu_pin_array",
"description": "A list of GPIO pins connected to the matrix rows.", "description": "A list of GPIO pins connected to the matrix rows.",
"examples": [["B0", "B1", "B2"]] "examples": [
["B0", "B1", "B2"]
]
} }
} }
}, },
@ -842,21 +789,11 @@
"default": false, "default": false,
"description": "Enables the Mouse Keys feature." "description": "Enables the Mouse Keys feature."
}, },
"delay": { "delay": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
"$ref": "qmk.definitions.v1#/unsigned_int_8" "interval": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
}, "max_speed": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
"interval": { "time_to_max": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
"$ref": "qmk.definitions.v1#/unsigned_int_8" "wheel_delay": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
},
"max_speed": {
"$ref": "qmk.definitions.v1#/unsigned_int_8"
},
"time_to_max": {
"$ref": "qmk.definitions.v1#/unsigned_int_8"
},
"wheel_delay": {
"$ref": "qmk.definitions.v1#/unsigned_int_8"
}
} }
}, },
"oneshot": { "oneshot": {
@ -877,12 +814,8 @@
"properties": { "properties": {
"animations": { "animations": {
"type": "object", "type": "object",
"propertyNames": { "propertyNames": {"$ref": "qmk.definitions.v1#/snake_case"},
"$ref": "qmk.definitions.v1#/snake_case" "additionalProperties": {"type": "boolean"},
},
"additionalProperties": {
"type": "boolean"
},
"description": "A dictionary of effects to enable or disable. Effects which are absent default to `false`.", "description": "A dictionary of effects to enable or disable. Effects which are absent default to `false`.",
"examples": [ "examples": [
{ {
@ -942,9 +875,7 @@
"type": "array", "type": "array",
"minItems": 2, "minItems": 2,
"maxItems": 2, "maxItems": 2,
"items": { "items": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
"$ref": "qmk.definitions.v1#/unsigned_int_8"
},
"default": [112, 32], "default": [112, 32],
"description": "The centroid (geometric center) of the LEDs. Used for certain effects." "description": "The centroid (geometric center) of the LEDs. Used for certain effects."
}, },
@ -992,11 +923,11 @@
"type": "array", "type": "array",
"minItems": 2, "minItems": 2,
"maxItems": 2, "maxItems": 2,
"items": { "items": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"$ref": "qmk.definitions.v1#/unsigned_int"
},
"description": "For split keyboards, the number of LEDs on each half.", "description": "For split keyboards, the number of LEDs on each half.",
"examples": [[16, 16]] "examples": [
[16, 16]
]
}, },
"layout": { "layout": {
"type": "array", "type": "array",
@ -1008,20 +939,11 @@
"type": "array", "type": "array",
"minItems": 2, "minItems": 2,
"maxItems": 2, "maxItems": 2,
"items": { "items": {"type": "integer", "minimum": 0}
"type": "integer",
"minimum": 0
}
}, },
"x": { "x": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"$ref": "qmk.definitions.v1#/unsigned_int" "y": {"$ref": "qmk.definitions.v1#/unsigned_int"},
}, "flags": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
"y": {
"$ref": "qmk.definitions.v1#/unsigned_int"
},
"flags": {
"$ref": "qmk.definitions.v1#/unsigned_int_8"
}
} }
}, },
"description": "List of LED configuration dictionaries. Each dictionary contains:" "description": "List of LED configuration dictionaries. Each dictionary contains:"
@ -1033,12 +955,8 @@
"properties": { "properties": {
"animations": { "animations": {
"type": "object", "type": "object",
"propertyNames": { "propertyNames": {"$ref": "qmk.definitions.v1#/snake_case"},
"$ref": "qmk.definitions.v1#/snake_case" "additionalProperties": {"type": "boolean"},
},
"additionalProperties": {
"type": "boolean"
},
"description": "A dictionary of effects to enable or disable. Effects which are absent default to `false`.", "description": "A dictionary of effects to enable or disable. Effects which are absent default to `false`.",
"examples": [ "examples": [
{ {
@ -1110,9 +1028,7 @@
"type": "array", "type": "array",
"minItems": 2, "minItems": 2,
"maxItems": 2, "maxItems": 2,
"items": { "items": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
"$ref": "qmk.definitions.v1#/unsigned_int_8"
},
"default": [112, 32], "default": [112, 32],
"description": "The centroid (geometric center) of the LEDs. Used for certain effects." "description": "The centroid (geometric center) of the LEDs. Used for certain effects."
}, },
@ -1170,11 +1086,11 @@
"type": "array", "type": "array",
"minItems": 2, "minItems": 2,
"maxItems": 2, "maxItems": 2,
"items": { "items": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"$ref": "qmk.definitions.v1#/unsigned_int"
},
"description": "For split keyboards, the number of LEDs on each half.", "description": "For split keyboards, the number of LEDs on each half.",
"examples": [[16, 16]] "examples": [
[16, 16]
]
}, },
"layout": { "layout": {
"type": "array", "type": "array",
@ -1186,20 +1102,11 @@
"type": "array", "type": "array",
"minItems": 2, "minItems": 2,
"maxItems": 2, "maxItems": 2,
"items": { "items": {"type": "integer", "minimum": 0}
"type": "integer",
"minimum": 0
}
}, },
"x": { "x": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"$ref": "qmk.definitions.v1#/unsigned_int" "y": {"$ref": "qmk.definitions.v1#/unsigned_int"},
}, "flags": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
"y": {
"$ref": "qmk.definitions.v1#/unsigned_int"
},
"flags": {
"$ref": "qmk.definitions.v1#/unsigned_int_8"
}
} }
}, },
"description": "List of LED configuration dictionaries. Each dictionary contains:" "description": "List of LED configuration dictionaries. Each dictionary contains:"
@ -1212,19 +1119,11 @@
"properties": { "properties": {
"animations": { "animations": {
"type": "object", "type": "object",
"propertyNames": { "propertyNames": {"$ref": "qmk.definitions.v1#/snake_case"},
"$ref": "qmk.definitions.v1#/snake_case" "additionalProperties": {"type": "boolean"},
},
"additionalProperties": {
"type": "boolean"
},
"description": "A dictionary of effects to enable or disable. Effects which are absent default to `false`.", "description": "A dictionary of effects to enable or disable. Effects which are absent default to `false`.",
"examples": [ "examples": [
{ {"breathing": true, "rainbow_mood": true, "snake": false}
"breathing": true,
"rainbow_mood": true,
"snake": false
}
] ]
}, },
"brightness_steps": { "brightness_steps": {
@ -1300,9 +1199,7 @@
"default": 8, "default": 8,
"description": "The maximum layer count, from 1 to 32." "description": "The maximum layer count, from 1 to 32."
}, },
"override_rgb": { "override_rgb": {"type": "boolean"}
"type": "boolean"
}
} }
}, },
"led_count": { "led_count": {
@ -1312,11 +1209,11 @@
"led_map": { "led_map": {
"type": "array", "type": "array",
"minItems": 2, "minItems": 2,
"items": { "items": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"$ref": "qmk.definitions.v1#/unsigned_int"
},
"description": "Remap LED indices.", "description": "Remap LED indices.",
"examples": [[4, 3, 2, 1, 0]] "examples": [
[4, 3, 2, 1, 0]
]
}, },
"max_brightness": { "max_brightness": {
"$ref": "qmk.definitions.v1#/unsigned_int_8", "$ref": "qmk.definitions.v1#/unsigned_int_8",
@ -1350,11 +1247,11 @@
"type": "array", "type": "array",
"minItems": 2, "minItems": 2,
"maxItems": 2, "maxItems": 2,
"items": { "items": {"$ref": "qmk.definitions.v1#/unsigned_int"},
"$ref": "qmk.definitions.v1#/unsigned_int"
},
"description": "When `rgblight.split` is enabled, the number of LEDs on each half.", "description": "When `rgblight.split` is enabled, the number of LEDs on each half.",
"examples": [[10, 10]] "examples": [
[10, 10]
]
} }
} }
}, },
@ -1385,10 +1282,7 @@
"type": "array", "type": "array",
"minItems": 2, "minItems": 2,
"maxItems": 2, "maxItems": 2,
"items": { "items": {"type": "integer", "minimum": 0}
"type": "integer",
"minimum": 0
}
}, },
"description": "A list of up to five matrix locations comprising the \"unlock sequence\".", "description": "A list of up to five matrix locations comprising the \"unlock sequence\".",
"examples": [ "examples": [
@ -1465,10 +1359,7 @@
"type": "array", "type": "array",
"minItems": 2, "minItems": 2,
"maxItems": 2, "maxItems": 2,
"items": { "items": {"type": "integer", "minimum": 0}
"type": "integer",
"minimum": 0
}
} }
} }
}, },
@ -1482,19 +1373,11 @@
"properties": { "properties": {
"direct": { "direct": {
"type": "array", "type": "array",
"items": { "items": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}
"$ref": "qmk.definitions.v1#/mcu_pin_array"
}
}, },
"cols": { "cols": {"$ref": "qmk.definitions.v1#/mcu_pin_array"},
"$ref": "qmk.definitions.v1#/mcu_pin_array" "rows": {"$ref": "qmk.definitions.v1#/mcu_pin_array"},
}, "unused": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}
"rows": {
"$ref": "qmk.definitions.v1#/mcu_pin_array"
},
"unused": {
"$ref": "qmk.definitions.v1#/mcu_pin_array"
}
} }
} }
} }
@ -1503,18 +1386,14 @@
"type": "object", "type": "object",
"additionalProperties": false, "additionalProperties": false,
"properties": { "properties": {
"right": { "right": {"$ref": "#/definitions/dip_switch_config"}
"$ref": "#/definitions/dip_switch_config"
}
} }
}, },
"encoder": { "encoder": {
"type": "object", "type": "object",
"additionalProperties": false, "additionalProperties": false,
"properties": { "properties": {
"right": { "right": {"$ref": "#/definitions/encoder_config"}
"$ref": "#/definitions/encoder_config"
}
} }
}, },
"handedness": { "handedness": {
@ -1530,7 +1409,9 @@
"minItems": 2, "minItems": 2,
"maxItems": 2, "maxItems": 2,
"description": "The GPIO pins of the matrix position which determines the handedness.", "description": "The GPIO pins of the matrix position which determines the handedness.",
"examples": [["A1", "B5"]] "examples": [
["A1", "B5"]
]
} }
} }
}, },
@ -1672,69 +1553,37 @@
}, },
"matrix_grid": { "matrix_grid": {
"type": "array", "type": "array",
"items": { "items": {"$ref": "qmk.definitions.v1#/mcu_pin"},
"$ref": "qmk.definitions.v1#/mcu_pin"
},
"$comment": "Deprecated: use split.handedness.matrix_grid instead" "$comment": "Deprecated: use split.handedness.matrix_grid instead"
} }
} }
}, },
"tags": { "tags": {
"type": "array", "type": "array",
"items": { "items": {"type": "string"},
"type": "string"
},
"description": "A list of tags describing the keyboard.", "description": "A list of tags describing the keyboard.",
"examples": [["ortho", "split", "rgb"]] "examples": [
["ortho", "split", "rgb"]
]
}, },
"tapping": { "tapping": {
"type": "object", "type": "object",
"properties": { "properties": {
"force_hold": { "force_hold": {"type": "boolean"},
"type": "boolean" "force_hold_per_key": {"type": "boolean"},
}, "ignore_mod_tap_interrupt": {"type": "boolean"},
"force_hold_per_key": { "hold_on_other_key_press": {"type": "boolean", "default": false},
"type": "boolean" "hold_on_other_key_press_per_key": {"type": "boolean", "default": false},
}, "permissive_hold": {"type": "boolean", "default": false},
"ignore_mod_tap_interrupt": { "permissive_hold_per_key": {"type": "boolean", "default": false},
"type": "boolean" "retro": {"type": "boolean", "default": false},
}, "retro_per_key": {"type": "boolean", "default": false},
"hold_on_other_key_press": {
"type": "boolean",
"default": false
},
"hold_on_other_key_press_per_key": {
"type": "boolean",
"default": false
},
"permissive_hold": {
"type": "boolean",
"default": false
},
"permissive_hold_per_key": {
"type": "boolean",
"default": false
},
"retro": {
"type": "boolean",
"default": false
},
"retro_per_key": {
"type": "boolean",
"default": false
},
"term": { "term": {
"$ref": "qmk.definitions.v1#/unsigned_int", "$ref": "qmk.definitions.v1#/unsigned_int",
"default": "`200` (200 ms)" "default": "`200` (200 ms)"
}, },
"term_per_key": { "term_per_key": {"type": "boolean", "default": false},
"type": "boolean", "toggle": {"$ref": "qmk.definitions.v1#/unsigned_int", "default": 5}
"default": false
},
"toggle": {
"$ref": "qmk.definitions.v1#/unsigned_int",
"default": 5
}
} }
}, },
"usb": { "usb": {
@ -1812,9 +1661,7 @@
"type": "object", "type": "object",
"additionalProperties": false, "additionalProperties": false,
"properties": { "properties": {
"keys_per_scan": { "keys_per_scan": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
"$ref": "qmk.definitions.v1#/unsigned_int_8"
},
"tap_keycode_delay": { "tap_keycode_delay": {
"$ref": "qmk.definitions.v1#/unsigned_int", "$ref": "qmk.definitions.v1#/unsigned_int",
"default": "`0` (no delay)", "default": "`0` (no delay)",
@ -1871,14 +1718,7 @@
"properties": { "properties": {
"driver": { "driver": {
"type": "string", "type": "string",
"enum": [ "enum": ["bitbang", "custom", "i2c", "pwm", "spi", "vendor"],
"bitbang",
"custom",
"i2c",
"pwm",
"spi",
"vendor"
],
"default": "bitbang", "default": "bitbang",
"description": "The driver to use. Must be one of `bitbang`, `custom`, `i2c`, `pwm`, `spi`, `vendor`." "description": "The driver to use. Must be one of `bitbang`, `custom`, `i2c`, `pwm`, `spi`, `vendor`."
}, },