You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

922 lines
36 KiB

Add a lot more data to info.json (#13366) * add some split data to info.json * add tags * add half of config_options.md to info.json * add support for designating master split * sort out split transport and primary * fix bad data in UNUSED_PINS * fixup custom transport * wip * allow for setting split right half keyboard matrix * add SPLIT_USB_DETECT * minor cleanup * fix an erroneous message * rework split.usb_detect * adding missing rgblight vars to info.json * add mouse_key to info.json * add all remaining options from docs/config_options.md * fix audio voices * qmk info: Change text output to use dotted notation * tweak layout output * resolve alias names * break out some functions to make flake8 happy * add a field for bootloader instructions * qmk generate-info-json: add a write-to-file argument Adds an argument that instructs qmk generate-info-json to write the output to a file instead of just to the terminal. * -arg_only, +action Because it was never my intention that one would have to specify a value for the argument that enables writing the file. * Bring qmk generate-info-json inline with other generate commands * pytest fixup * fix esca/getawayvan * fix data driven errors for bpiphany converters * features.force_nkro -> usb.force_nkro * split.primary->split.main * fix esca/getawayvan_f042 * fix the bpiphany converters for real * fix bpiphany/tiger_lily * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> * fix generate-api errors * fix matrix pin extraction for split boards * fix ploopyco/trackball_nano/rev1_001 Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2 years ago
Add a lot more data to info.json (#13366) * add some split data to info.json * add tags * add half of config_options.md to info.json * add support for designating master split * sort out split transport and primary * fix bad data in UNUSED_PINS * fixup custom transport * wip * allow for setting split right half keyboard matrix * add SPLIT_USB_DETECT * minor cleanup * fix an erroneous message * rework split.usb_detect * adding missing rgblight vars to info.json * add mouse_key to info.json * add all remaining options from docs/config_options.md * fix audio voices * qmk info: Change text output to use dotted notation * tweak layout output * resolve alias names * break out some functions to make flake8 happy * add a field for bootloader instructions * qmk generate-info-json: add a write-to-file argument Adds an argument that instructs qmk generate-info-json to write the output to a file instead of just to the terminal. * -arg_only, +action Because it was never my intention that one would have to specify a value for the argument that enables writing the file. * Bring qmk generate-info-json inline with other generate commands * pytest fixup * fix esca/getawayvan * fix data driven errors for bpiphany converters * features.force_nkro -> usb.force_nkro * split.primary->split.main * fix esca/getawayvan_f042 * fix the bpiphany converters for real * fix bpiphany/tiger_lily * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> * fix generate-api errors * fix matrix pin extraction for split boards * fix ploopyco/trackball_nano/rev1_001 Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2 years ago
Add a lot more data to info.json (#13366) * add some split data to info.json * add tags * add half of config_options.md to info.json * add support for designating master split * sort out split transport and primary * fix bad data in UNUSED_PINS * fixup custom transport * wip * allow for setting split right half keyboard matrix * add SPLIT_USB_DETECT * minor cleanup * fix an erroneous message * rework split.usb_detect * adding missing rgblight vars to info.json * add mouse_key to info.json * add all remaining options from docs/config_options.md * fix audio voices * qmk info: Change text output to use dotted notation * tweak layout output * resolve alias names * break out some functions to make flake8 happy * add a field for bootloader instructions * qmk generate-info-json: add a write-to-file argument Adds an argument that instructs qmk generate-info-json to write the output to a file instead of just to the terminal. * -arg_only, +action Because it was never my intention that one would have to specify a value for the argument that enables writing the file. * Bring qmk generate-info-json inline with other generate commands * pytest fixup * fix esca/getawayvan * fix data driven errors for bpiphany converters * features.force_nkro -> usb.force_nkro * split.primary->split.main * fix esca/getawayvan_f042 * fix the bpiphany converters for real * fix bpiphany/tiger_lily * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> * fix generate-api errors * fix matrix pin extraction for split boards * fix ploopyco/trackball_nano/rev1_001 Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2 years ago
Add a lot more data to info.json (#13366) * add some split data to info.json * add tags * add half of config_options.md to info.json * add support for designating master split * sort out split transport and primary * fix bad data in UNUSED_PINS * fixup custom transport * wip * allow for setting split right half keyboard matrix * add SPLIT_USB_DETECT * minor cleanup * fix an erroneous message * rework split.usb_detect * adding missing rgblight vars to info.json * add mouse_key to info.json * add all remaining options from docs/config_options.md * fix audio voices * qmk info: Change text output to use dotted notation * tweak layout output * resolve alias names * break out some functions to make flake8 happy * add a field for bootloader instructions * qmk generate-info-json: add a write-to-file argument Adds an argument that instructs qmk generate-info-json to write the output to a file instead of just to the terminal. * -arg_only, +action Because it was never my intention that one would have to specify a value for the argument that enables writing the file. * Bring qmk generate-info-json inline with other generate commands * pytest fixup * fix esca/getawayvan * fix data driven errors for bpiphany converters * features.force_nkro -> usb.force_nkro * split.primary->split.main * fix esca/getawayvan_f042 * fix the bpiphany converters for real * fix bpiphany/tiger_lily * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> * fix generate-api errors * fix matrix pin extraction for split boards * fix ploopyco/trackball_nano/rev1_001 Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2 years ago
Add a lot more data to info.json (#13366) * add some split data to info.json * add tags * add half of config_options.md to info.json * add support for designating master split * sort out split transport and primary * fix bad data in UNUSED_PINS * fixup custom transport * wip * allow for setting split right half keyboard matrix * add SPLIT_USB_DETECT * minor cleanup * fix an erroneous message * rework split.usb_detect * adding missing rgblight vars to info.json * add mouse_key to info.json * add all remaining options from docs/config_options.md * fix audio voices * qmk info: Change text output to use dotted notation * tweak layout output * resolve alias names * break out some functions to make flake8 happy * add a field for bootloader instructions * qmk generate-info-json: add a write-to-file argument Adds an argument that instructs qmk generate-info-json to write the output to a file instead of just to the terminal. * -arg_only, +action Because it was never my intention that one would have to specify a value for the argument that enables writing the file. * Bring qmk generate-info-json inline with other generate commands * pytest fixup * fix esca/getawayvan * fix data driven errors for bpiphany converters * features.force_nkro -> usb.force_nkro * split.primary->split.main * fix esca/getawayvan_f042 * fix the bpiphany converters for real * fix bpiphany/tiger_lily * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> * fix generate-api errors * fix matrix pin extraction for split boards * fix ploopyco/trackball_nano/rev1_001 Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2 years ago
Add a lot more data to info.json (#13366) * add some split data to info.json * add tags * add half of config_options.md to info.json * add support for designating master split * sort out split transport and primary * fix bad data in UNUSED_PINS * fixup custom transport * wip * allow for setting split right half keyboard matrix * add SPLIT_USB_DETECT * minor cleanup * fix an erroneous message * rework split.usb_detect * adding missing rgblight vars to info.json * add mouse_key to info.json * add all remaining options from docs/config_options.md * fix audio voices * qmk info: Change text output to use dotted notation * tweak layout output * resolve alias names * break out some functions to make flake8 happy * add a field for bootloader instructions * qmk generate-info-json: add a write-to-file argument Adds an argument that instructs qmk generate-info-json to write the output to a file instead of just to the terminal. * -arg_only, +action Because it was never my intention that one would have to specify a value for the argument that enables writing the file. * Bring qmk generate-info-json inline with other generate commands * pytest fixup * fix esca/getawayvan * fix data driven errors for bpiphany converters * features.force_nkro -> usb.force_nkro * split.primary->split.main * fix esca/getawayvan_f042 * fix the bpiphany converters for real * fix bpiphany/tiger_lily * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> * fix generate-api errors * fix matrix pin extraction for split boards * fix ploopyco/trackball_nano/rev1_001 Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2 years ago
Add a lot more data to info.json (#13366) * add some split data to info.json * add tags * add half of config_options.md to info.json * add support for designating master split * sort out split transport and primary * fix bad data in UNUSED_PINS * fixup custom transport * wip * allow for setting split right half keyboard matrix * add SPLIT_USB_DETECT * minor cleanup * fix an erroneous message * rework split.usb_detect * adding missing rgblight vars to info.json * add mouse_key to info.json * add all remaining options from docs/config_options.md * fix audio voices * qmk info: Change text output to use dotted notation * tweak layout output * resolve alias names * break out some functions to make flake8 happy * add a field for bootloader instructions * qmk generate-info-json: add a write-to-file argument Adds an argument that instructs qmk generate-info-json to write the output to a file instead of just to the terminal. * -arg_only, +action Because it was never my intention that one would have to specify a value for the argument that enables writing the file. * Bring qmk generate-info-json inline with other generate commands * pytest fixup * fix esca/getawayvan * fix data driven errors for bpiphany converters * features.force_nkro -> usb.force_nkro * split.primary->split.main * fix esca/getawayvan_f042 * fix the bpiphany converters for real * fix bpiphany/tiger_lily * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> * fix generate-api errors * fix matrix pin extraction for split boards * fix ploopyco/trackball_nano/rev1_001 Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2 years ago
Add a lot more data to info.json (#13366) * add some split data to info.json * add tags * add half of config_options.md to info.json * add support for designating master split * sort out split transport and primary * fix bad data in UNUSED_PINS * fixup custom transport * wip * allow for setting split right half keyboard matrix * add SPLIT_USB_DETECT * minor cleanup * fix an erroneous message * rework split.usb_detect * adding missing rgblight vars to info.json * add mouse_key to info.json * add all remaining options from docs/config_options.md * fix audio voices * qmk info: Change text output to use dotted notation * tweak layout output * resolve alias names * break out some functions to make flake8 happy * add a field for bootloader instructions * qmk generate-info-json: add a write-to-file argument Adds an argument that instructs qmk generate-info-json to write the output to a file instead of just to the terminal. * -arg_only, +action Because it was never my intention that one would have to specify a value for the argument that enables writing the file. * Bring qmk generate-info-json inline with other generate commands * pytest fixup * fix esca/getawayvan * fix data driven errors for bpiphany converters * features.force_nkro -> usb.force_nkro * split.primary->split.main * fix esca/getawayvan_f042 * fix the bpiphany converters for real * fix bpiphany/tiger_lily * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> * fix generate-api errors * fix matrix pin extraction for split boards * fix ploopyco/trackball_nano/rev1_001 Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2 years ago
Add a lot more data to info.json (#13366) * add some split data to info.json * add tags * add half of config_options.md to info.json * add support for designating master split * sort out split transport and primary * fix bad data in UNUSED_PINS * fixup custom transport * wip * allow for setting split right half keyboard matrix * add SPLIT_USB_DETECT * minor cleanup * fix an erroneous message * rework split.usb_detect * adding missing rgblight vars to info.json * add mouse_key to info.json * add all remaining options from docs/config_options.md * fix audio voices * qmk info: Change text output to use dotted notation * tweak layout output * resolve alias names * break out some functions to make flake8 happy * add a field for bootloader instructions * qmk generate-info-json: add a write-to-file argument Adds an argument that instructs qmk generate-info-json to write the output to a file instead of just to the terminal. * -arg_only, +action Because it was never my intention that one would have to specify a value for the argument that enables writing the file. * Bring qmk generate-info-json inline with other generate commands * pytest fixup * fix esca/getawayvan * fix data driven errors for bpiphany converters * features.force_nkro -> usb.force_nkro * split.primary->split.main * fix esca/getawayvan_f042 * fix the bpiphany converters for real * fix bpiphany/tiger_lily * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> * fix generate-api errors * fix matrix pin extraction for split boards * fix ploopyco/trackball_nano/rev1_001 Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2 years ago
Add a lot more data to info.json (#13366) * add some split data to info.json * add tags * add half of config_options.md to info.json * add support for designating master split * sort out split transport and primary * fix bad data in UNUSED_PINS * fixup custom transport * wip * allow for setting split right half keyboard matrix * add SPLIT_USB_DETECT * minor cleanup * fix an erroneous message * rework split.usb_detect * adding missing rgblight vars to info.json * add mouse_key to info.json * add all remaining options from docs/config_options.md * fix audio voices * qmk info: Change text output to use dotted notation * tweak layout output * resolve alias names * break out some functions to make flake8 happy * add a field for bootloader instructions * qmk generate-info-json: add a write-to-file argument Adds an argument that instructs qmk generate-info-json to write the output to a file instead of just to the terminal. * -arg_only, +action Because it was never my intention that one would have to specify a value for the argument that enables writing the file. * Bring qmk generate-info-json inline with other generate commands * pytest fixup * fix esca/getawayvan * fix data driven errors for bpiphany converters * features.force_nkro -> usb.force_nkro * split.primary->split.main * fix esca/getawayvan_f042 * fix the bpiphany converters for real * fix bpiphany/tiger_lily * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> * fix generate-api errors * fix matrix pin extraction for split boards * fix ploopyco/trackball_nano/rev1_001 Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2 years ago
Add a lot more data to info.json (#13366) * add some split data to info.json * add tags * add half of config_options.md to info.json * add support for designating master split * sort out split transport and primary * fix bad data in UNUSED_PINS * fixup custom transport * wip * allow for setting split right half keyboard matrix * add SPLIT_USB_DETECT * minor cleanup * fix an erroneous message * rework split.usb_detect * adding missing rgblight vars to info.json * add mouse_key to info.json * add all remaining options from docs/config_options.md * fix audio voices * qmk info: Change text output to use dotted notation * tweak layout output * resolve alias names * break out some functions to make flake8 happy * add a field for bootloader instructions * qmk generate-info-json: add a write-to-file argument Adds an argument that instructs qmk generate-info-json to write the output to a file instead of just to the terminal. * -arg_only, +action Because it was never my intention that one would have to specify a value for the argument that enables writing the file. * Bring qmk generate-info-json inline with other generate commands * pytest fixup * fix esca/getawayvan * fix data driven errors for bpiphany converters * features.force_nkro -> usb.force_nkro * split.primary->split.main * fix esca/getawayvan_f042 * fix the bpiphany converters for real * fix bpiphany/tiger_lily * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> * fix generate-api errors * fix matrix pin extraction for split boards * fix ploopyco/trackball_nano/rev1_001 Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2 years ago
Add a lot more data to info.json (#13366) * add some split data to info.json * add tags * add half of config_options.md to info.json * add support for designating master split * sort out split transport and primary * fix bad data in UNUSED_PINS * fixup custom transport * wip * allow for setting split right half keyboard matrix * add SPLIT_USB_DETECT * minor cleanup * fix an erroneous message * rework split.usb_detect * adding missing rgblight vars to info.json * add mouse_key to info.json * add all remaining options from docs/config_options.md * fix audio voices * qmk info: Change text output to use dotted notation * tweak layout output * resolve alias names * break out some functions to make flake8 happy * add a field for bootloader instructions * qmk generate-info-json: add a write-to-file argument Adds an argument that instructs qmk generate-info-json to write the output to a file instead of just to the terminal. * -arg_only, +action Because it was never my intention that one would have to specify a value for the argument that enables writing the file. * Bring qmk generate-info-json inline with other generate commands * pytest fixup * fix esca/getawayvan * fix data driven errors for bpiphany converters * features.force_nkro -> usb.force_nkro * split.primary->split.main * fix esca/getawayvan_f042 * fix the bpiphany converters for real * fix bpiphany/tiger_lily * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> * fix generate-api errors * fix matrix pin extraction for split boards * fix ploopyco/trackball_nano/rev1_001 Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2 years ago
Add a lot more data to info.json (#13366) * add some split data to info.json * add tags * add half of config_options.md to info.json * add support for designating master split * sort out split transport and primary * fix bad data in UNUSED_PINS * fixup custom transport * wip * allow for setting split right half keyboard matrix * add SPLIT_USB_DETECT * minor cleanup * fix an erroneous message * rework split.usb_detect * adding missing rgblight vars to info.json * add mouse_key to info.json * add all remaining options from docs/config_options.md * fix audio voices * qmk info: Change text output to use dotted notation * tweak layout output * resolve alias names * break out some functions to make flake8 happy * add a field for bootloader instructions * qmk generate-info-json: add a write-to-file argument Adds an argument that instructs qmk generate-info-json to write the output to a file instead of just to the terminal. * -arg_only, +action Because it was never my intention that one would have to specify a value for the argument that enables writing the file. * Bring qmk generate-info-json inline with other generate commands * pytest fixup * fix esca/getawayvan * fix data driven errors for bpiphany converters * features.force_nkro -> usb.force_nkro * split.primary->split.main * fix esca/getawayvan_f042 * fix the bpiphany converters for real * fix bpiphany/tiger_lily * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> * fix generate-api errors * fix matrix pin extraction for split boards * fix ploopyco/trackball_nano/rev1_001 Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2 years ago
Add a lot more data to info.json (#13366) * add some split data to info.json * add tags * add half of config_options.md to info.json * add support for designating master split * sort out split transport and primary * fix bad data in UNUSED_PINS * fixup custom transport * wip * allow for setting split right half keyboard matrix * add SPLIT_USB_DETECT * minor cleanup * fix an erroneous message * rework split.usb_detect * adding missing rgblight vars to info.json * add mouse_key to info.json * add all remaining options from docs/config_options.md * fix audio voices * qmk info: Change text output to use dotted notation * tweak layout output * resolve alias names * break out some functions to make flake8 happy * add a field for bootloader instructions * qmk generate-info-json: add a write-to-file argument Adds an argument that instructs qmk generate-info-json to write the output to a file instead of just to the terminal. * -arg_only, +action Because it was never my intention that one would have to specify a value for the argument that enables writing the file. * Bring qmk generate-info-json inline with other generate commands * pytest fixup * fix esca/getawayvan * fix data driven errors for bpiphany converters * features.force_nkro -> usb.force_nkro * split.primary->split.main * fix esca/getawayvan_f042 * fix the bpiphany converters for real * fix bpiphany/tiger_lily * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> * fix generate-api errors * fix matrix pin extraction for split boards * fix ploopyco/trackball_nano/rev1_001 Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2 years ago
Add a lot more data to info.json (#13366) * add some split data to info.json * add tags * add half of config_options.md to info.json * add support for designating master split * sort out split transport and primary * fix bad data in UNUSED_PINS * fixup custom transport * wip * allow for setting split right half keyboard matrix * add SPLIT_USB_DETECT * minor cleanup * fix an erroneous message * rework split.usb_detect * adding missing rgblight vars to info.json * add mouse_key to info.json * add all remaining options from docs/config_options.md * fix audio voices * qmk info: Change text output to use dotted notation * tweak layout output * resolve alias names * break out some functions to make flake8 happy * add a field for bootloader instructions * qmk generate-info-json: add a write-to-file argument Adds an argument that instructs qmk generate-info-json to write the output to a file instead of just to the terminal. * -arg_only, +action Because it was never my intention that one would have to specify a value for the argument that enables writing the file. * Bring qmk generate-info-json inline with other generate commands * pytest fixup * fix esca/getawayvan * fix data driven errors for bpiphany converters * features.force_nkro -> usb.force_nkro * split.primary->split.main * fix esca/getawayvan_f042 * fix the bpiphany converters for real * fix bpiphany/tiger_lily * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> * fix generate-api errors * fix matrix pin extraction for split boards * fix ploopyco/trackball_nano/rev1_001 Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2 years ago
Add a lot more data to info.json (#13366) * add some split data to info.json * add tags * add half of config_options.md to info.json * add support for designating master split * sort out split transport and primary * fix bad data in UNUSED_PINS * fixup custom transport * wip * allow for setting split right half keyboard matrix * add SPLIT_USB_DETECT * minor cleanup * fix an erroneous message * rework split.usb_detect * adding missing rgblight vars to info.json * add mouse_key to info.json * add all remaining options from docs/config_options.md * fix audio voices * qmk info: Change text output to use dotted notation * tweak layout output * resolve alias names * break out some functions to make flake8 happy * add a field for bootloader instructions * qmk generate-info-json: add a write-to-file argument Adds an argument that instructs qmk generate-info-json to write the output to a file instead of just to the terminal. * -arg_only, +action Because it was never my intention that one would have to specify a value for the argument that enables writing the file. * Bring qmk generate-info-json inline with other generate commands * pytest fixup * fix esca/getawayvan * fix data driven errors for bpiphany converters * features.force_nkro -> usb.force_nkro * split.primary->split.main * fix esca/getawayvan_f042 * fix the bpiphany converters for real * fix bpiphany/tiger_lily * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> * fix generate-api errors * fix matrix pin extraction for split boards * fix ploopyco/trackball_nano/rev1_001 Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2 years ago
Add a lot more data to info.json (#13366) * add some split data to info.json * add tags * add half of config_options.md to info.json * add support for designating master split * sort out split transport and primary * fix bad data in UNUSED_PINS * fixup custom transport * wip * allow for setting split right half keyboard matrix * add SPLIT_USB_DETECT * minor cleanup * fix an erroneous message * rework split.usb_detect * adding missing rgblight vars to info.json * add mouse_key to info.json * add all remaining options from docs/config_options.md * fix audio voices * qmk info: Change text output to use dotted notation * tweak layout output * resolve alias names * break out some functions to make flake8 happy * add a field for bootloader instructions * qmk generate-info-json: add a write-to-file argument Adds an argument that instructs qmk generate-info-json to write the output to a file instead of just to the terminal. * -arg_only, +action Because it was never my intention that one would have to specify a value for the argument that enables writing the file. * Bring qmk generate-info-json inline with other generate commands * pytest fixup * fix esca/getawayvan * fix data driven errors for bpiphany converters * features.force_nkro -> usb.force_nkro * split.primary->split.main * fix esca/getawayvan_f042 * fix the bpiphany converters for real * fix bpiphany/tiger_lily * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> * fix generate-api errors * fix matrix pin extraction for split boards * fix ploopyco/trackball_nano/rev1_001 Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2 years ago
Add a lot more data to info.json (#13366) * add some split data to info.json * add tags * add half of config_options.md to info.json * add support for designating master split * sort out split transport and primary * fix bad data in UNUSED_PINS * fixup custom transport * wip * allow for setting split right half keyboard matrix * add SPLIT_USB_DETECT * minor cleanup * fix an erroneous message * rework split.usb_detect * adding missing rgblight vars to info.json * add mouse_key to info.json * add all remaining options from docs/config_options.md * fix audio voices * qmk info: Change text output to use dotted notation * tweak layout output * resolve alias names * break out some functions to make flake8 happy * add a field for bootloader instructions * qmk generate-info-json: add a write-to-file argument Adds an argument that instructs qmk generate-info-json to write the output to a file instead of just to the terminal. * -arg_only, +action Because it was never my intention that one would have to specify a value for the argument that enables writing the file. * Bring qmk generate-info-json inline with other generate commands * pytest fixup * fix esca/getawayvan * fix data driven errors for bpiphany converters * features.force_nkro -> usb.force_nkro * split.primary->split.main * fix esca/getawayvan_f042 * fix the bpiphany converters for real * fix bpiphany/tiger_lily * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> * fix generate-api errors * fix matrix pin extraction for split boards * fix ploopyco/trackball_nano/rev1_001 Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2 years ago
Add a lot more data to info.json (#13366) * add some split data to info.json * add tags * add half of config_options.md to info.json * add support for designating master split * sort out split transport and primary * fix bad data in UNUSED_PINS * fixup custom transport * wip * allow for setting split right half keyboard matrix * add SPLIT_USB_DETECT * minor cleanup * fix an erroneous message * rework split.usb_detect * adding missing rgblight vars to info.json * add mouse_key to info.json * add all remaining options from docs/config_options.md * fix audio voices * qmk info: Change text output to use dotted notation * tweak layout output * resolve alias names * break out some functions to make flake8 happy * add a field for bootloader instructions * qmk generate-info-json: add a write-to-file argument Adds an argument that instructs qmk generate-info-json to write the output to a file instead of just to the terminal. * -arg_only, +action Because it was never my intention that one would have to specify a value for the argument that enables writing the file. * Bring qmk generate-info-json inline with other generate commands * pytest fixup * fix esca/getawayvan * fix data driven errors for bpiphany converters * features.force_nkro -> usb.force_nkro * split.primary->split.main * fix esca/getawayvan_f042 * fix the bpiphany converters for real * fix bpiphany/tiger_lily * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> * fix generate-api errors * fix matrix pin extraction for split boards * fix ploopyco/trackball_nano/rev1_001 Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2 years ago
Add a lot more data to info.json (#13366) * add some split data to info.json * add tags * add half of config_options.md to info.json * add support for designating master split * sort out split transport and primary * fix bad data in UNUSED_PINS * fixup custom transport * wip * allow for setting split right half keyboard matrix * add SPLIT_USB_DETECT * minor cleanup * fix an erroneous message * rework split.usb_detect * adding missing rgblight vars to info.json * add mouse_key to info.json * add all remaining options from docs/config_options.md * fix audio voices * qmk info: Change text output to use dotted notation * tweak layout output * resolve alias names * break out some functions to make flake8 happy * add a field for bootloader instructions * qmk generate-info-json: add a write-to-file argument Adds an argument that instructs qmk generate-info-json to write the output to a file instead of just to the terminal. * -arg_only, +action Because it was never my intention that one would have to specify a value for the argument that enables writing the file. * Bring qmk generate-info-json inline with other generate commands * pytest fixup * fix esca/getawayvan * fix data driven errors for bpiphany converters * features.force_nkro -> usb.force_nkro * split.primary->split.main * fix esca/getawayvan_f042 * fix the bpiphany converters for real * fix bpiphany/tiger_lily * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> * fix generate-api errors * fix matrix pin extraction for split boards * fix ploopyco/trackball_nano/rev1_001 Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2 years ago
Add a lot more data to info.json (#13366) * add some split data to info.json * add tags * add half of config_options.md to info.json * add support for designating master split * sort out split transport and primary * fix bad data in UNUSED_PINS * fixup custom transport * wip * allow for setting split right half keyboard matrix * add SPLIT_USB_DETECT * minor cleanup * fix an erroneous message * rework split.usb_detect * adding missing rgblight vars to info.json * add mouse_key to info.json * add all remaining options from docs/config_options.md * fix audio voices * qmk info: Change text output to use dotted notation * tweak layout output * resolve alias names * break out some functions to make flake8 happy * add a field for bootloader instructions * qmk generate-info-json: add a write-to-file argument Adds an argument that instructs qmk generate-info-json to write the output to a file instead of just to the terminal. * -arg_only, +action Because it was never my intention that one would have to specify a value for the argument that enables writing the file. * Bring qmk generate-info-json inline with other generate commands * pytest fixup * fix esca/getawayvan * fix data driven errors for bpiphany converters * features.force_nkro -> usb.force_nkro * split.primary->split.main * fix esca/getawayvan_f042 * fix the bpiphany converters for real * fix bpiphany/tiger_lily * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> * fix generate-api errors * fix matrix pin extraction for split boards * fix ploopyco/trackball_nano/rev1_001 Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2 years ago
Add a lot more data to info.json (#13366) * add some split data to info.json * add tags * add half of config_options.md to info.json * add support for designating master split * sort out split transport and primary * fix bad data in UNUSED_PINS * fixup custom transport * wip * allow for setting split right half keyboard matrix * add SPLIT_USB_DETECT * minor cleanup * fix an erroneous message * rework split.usb_detect * adding missing rgblight vars to info.json * add mouse_key to info.json * add all remaining options from docs/config_options.md * fix audio voices * qmk info: Change text output to use dotted notation * tweak layout output * resolve alias names * break out some functions to make flake8 happy * add a field for bootloader instructions * qmk generate-info-json: add a write-to-file argument Adds an argument that instructs qmk generate-info-json to write the output to a file instead of just to the terminal. * -arg_only, +action Because it was never my intention that one would have to specify a value for the argument that enables writing the file. * Bring qmk generate-info-json inline with other generate commands * pytest fixup * fix esca/getawayvan * fix data driven errors for bpiphany converters * features.force_nkro -> usb.force_nkro * split.primary->split.main * fix esca/getawayvan_f042 * fix the bpiphany converters for real * fix bpiphany/tiger_lily * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> * fix generate-api errors * fix matrix pin extraction for split boards * fix ploopyco/trackball_nano/rev1_001 Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2 years ago
Add a lot more data to info.json (#13366) * add some split data to info.json * add tags * add half of config_options.md to info.json * add support for designating master split * sort out split transport and primary * fix bad data in UNUSED_PINS * fixup custom transport * wip * allow for setting split right half keyboard matrix * add SPLIT_USB_DETECT * minor cleanup * fix an erroneous message * rework split.usb_detect * adding missing rgblight vars to info.json * add mouse_key to info.json * add all remaining options from docs/config_options.md * fix audio voices * qmk info: Change text output to use dotted notation * tweak layout output * resolve alias names * break out some functions to make flake8 happy * add a field for bootloader instructions * qmk generate-info-json: add a write-to-file argument Adds an argument that instructs qmk generate-info-json to write the output to a file instead of just to the terminal. * -arg_only, +action Because it was never my intention that one would have to specify a value for the argument that enables writing the file. * Bring qmk generate-info-json inline with other generate commands * pytest fixup * fix esca/getawayvan * fix data driven errors for bpiphany converters * features.force_nkro -> usb.force_nkro * split.primary->split.main * fix esca/getawayvan_f042 * fix the bpiphany converters for real * fix bpiphany/tiger_lily * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> * fix generate-api errors * fix matrix pin extraction for split boards * fix ploopyco/trackball_nano/rev1_001 Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2 years ago
Add a lot more data to info.json (#13366) * add some split data to info.json * add tags * add half of config_options.md to info.json * add support for designating master split * sort out split transport and primary * fix bad data in UNUSED_PINS * fixup custom transport * wip * allow for setting split right half keyboard matrix * add SPLIT_USB_DETECT * minor cleanup * fix an erroneous message * rework split.usb_detect * adding missing rgblight vars to info.json * add mouse_key to info.json * add all remaining options from docs/config_options.md * fix audio voices * qmk info: Change text output to use dotted notation * tweak layout output * resolve alias names * break out some functions to make flake8 happy * add a field for bootloader instructions * qmk generate-info-json: add a write-to-file argument Adds an argument that instructs qmk generate-info-json to write the output to a file instead of just to the terminal. * -arg_only, +action Because it was never my intention that one would have to specify a value for the argument that enables writing the file. * Bring qmk generate-info-json inline with other generate commands * pytest fixup * fix esca/getawayvan * fix data driven errors for bpiphany converters * features.force_nkro -> usb.force_nkro * split.primary->split.main * fix esca/getawayvan_f042 * fix the bpiphany converters for real * fix bpiphany/tiger_lily * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> * fix generate-api errors * fix matrix pin extraction for split boards * fix ploopyco/trackball_nano/rev1_001 Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2 years ago
Add a lot more data to info.json (#13366) * add some split data to info.json * add tags * add half of config_options.md to info.json * add support for designating master split * sort out split transport and primary * fix bad data in UNUSED_PINS * fixup custom transport * wip * allow for setting split right half keyboard matrix * add SPLIT_USB_DETECT * minor cleanup * fix an erroneous message * rework split.usb_detect * adding missing rgblight vars to info.json * add mouse_key to info.json * add all remaining options from docs/config_options.md * fix audio voices * qmk info: Change text output to use dotted notation * tweak layout output * resolve alias names * break out some functions to make flake8 happy * add a field for bootloader instructions * qmk generate-info-json: add a write-to-file argument Adds an argument that instructs qmk generate-info-json to write the output to a file instead of just to the terminal. * -arg_only, +action Because it was never my intention that one would have to specify a value for the argument that enables writing the file. * Bring qmk generate-info-json inline with other generate commands * pytest fixup * fix esca/getawayvan * fix data driven errors for bpiphany converters * features.force_nkro -> usb.force_nkro * split.primary->split.main * fix esca/getawayvan_f042 * fix the bpiphany converters for real * fix bpiphany/tiger_lily * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> * fix generate-api errors * fix matrix pin extraction for split boards * fix ploopyco/trackball_nano/rev1_001 Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2 years ago
Add a lot more data to info.json (#13366) * add some split data to info.json * add tags * add half of config_options.md to info.json * add support for designating master split * sort out split transport and primary * fix bad data in UNUSED_PINS * fixup custom transport * wip * allow for setting split right half keyboard matrix * add SPLIT_USB_DETECT * minor cleanup * fix an erroneous message * rework split.usb_detect * adding missing rgblight vars to info.json * add mouse_key to info.json * add all remaining options from docs/config_options.md * fix audio voices * qmk info: Change text output to use dotted notation * tweak layout output * resolve alias names * break out some functions to make flake8 happy * add a field for bootloader instructions * qmk generate-info-json: add a write-to-file argument Adds an argument that instructs qmk generate-info-json to write the output to a file instead of just to the terminal. * -arg_only, +action Because it was never my intention that one would have to specify a value for the argument that enables writing the file. * Bring qmk generate-info-json inline with other generate commands * pytest fixup * fix esca/getawayvan * fix data driven errors for bpiphany converters * features.force_nkro -> usb.force_nkro * split.primary->split.main * fix esca/getawayvan_f042 * fix the bpiphany converters for real * fix bpiphany/tiger_lily * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> * fix generate-api errors * fix matrix pin extraction for split boards * fix ploopyco/trackball_nano/rev1_001 Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2 years ago
Add a lot more data to info.json (#13366) * add some split data to info.json * add tags * add half of config_options.md to info.json * add support for designating master split * sort out split transport and primary * fix bad data in UNUSED_PINS * fixup custom transport * wip * allow for setting split right half keyboard matrix * add SPLIT_USB_DETECT * minor cleanup * fix an erroneous message * rework split.usb_detect * adding missing rgblight vars to info.json * add mouse_key to info.json * add all remaining options from docs/config_options.md * fix audio voices * qmk info: Change text output to use dotted notation * tweak layout output * resolve alias names * break out some functions to make flake8 happy * add a field for bootloader instructions * qmk generate-info-json: add a write-to-file argument Adds an argument that instructs qmk generate-info-json to write the output to a file instead of just to the terminal. * -arg_only, +action Because it was never my intention that one would have to specify a value for the argument that enables writing the file. * Bring qmk generate-info-json inline with other generate commands * pytest fixup * fix esca/getawayvan * fix data driven errors for bpiphany converters * features.force_nkro -> usb.force_nkro * split.primary->split.main * fix esca/getawayvan_f042 * fix the bpiphany converters for real * fix bpiphany/tiger_lily * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> * fix generate-api errors * fix matrix pin extraction for split boards * fix ploopyco/trackball_nano/rev1_001 Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2 years ago
Add a lot more data to info.json (#13366) * add some split data to info.json * add tags * add half of config_options.md to info.json * add support for designating master split * sort out split transport and primary * fix bad data in UNUSED_PINS * fixup custom transport * wip * allow for setting split right half keyboard matrix * add SPLIT_USB_DETECT * minor cleanup * fix an erroneous message * rework split.usb_detect * adding missing rgblight vars to info.json * add mouse_key to info.json * add all remaining options from docs/config_options.md * fix audio voices * qmk info: Change text output to use dotted notation * tweak layout output * resolve alias names * break out some functions to make flake8 happy * add a field for bootloader instructions * qmk generate-info-json: add a write-to-file argument Adds an argument that instructs qmk generate-info-json to write the output to a file instead of just to the terminal. * -arg_only, +action Because it was never my intention that one would have to specify a value for the argument that enables writing the file. * Bring qmk generate-info-json inline with other generate commands * pytest fixup * fix esca/getawayvan * fix data driven errors for bpiphany converters * features.force_nkro -> usb.force_nkro * split.primary->split.main * fix esca/getawayvan_f042 * fix the bpiphany converters for real * fix bpiphany/tiger_lily * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> * fix generate-api errors * fix matrix pin extraction for split boards * fix ploopyco/trackball_nano/rev1_001 Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2 years ago
Add a lot more data to info.json (#13366) * add some split data to info.json * add tags * add half of config_options.md to info.json * add support for designating master split * sort out split transport and primary * fix bad data in UNUSED_PINS * fixup custom transport * wip * allow for setting split right half keyboard matrix * add SPLIT_USB_DETECT * minor cleanup * fix an erroneous message * rework split.usb_detect * adding missing rgblight vars to info.json * add mouse_key to info.json * add all remaining options from docs/config_options.md * fix audio voices * qmk info: Change text output to use dotted notation * tweak layout output * resolve alias names * break out some functions to make flake8 happy * add a field for bootloader instructions * qmk generate-info-json: add a write-to-file argument Adds an argument that instructs qmk generate-info-json to write the output to a file instead of just to the terminal. * -arg_only, +action Because it was never my intention that one would have to specify a value for the argument that enables writing the file. * Bring qmk generate-info-json inline with other generate commands * pytest fixup * fix esca/getawayvan * fix data driven errors for bpiphany converters * features.force_nkro -> usb.force_nkro * split.primary->split.main * fix esca/getawayvan_f042 * fix the bpiphany converters for real * fix bpiphany/tiger_lily * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> * fix generate-api errors * fix matrix pin extraction for split boards * fix ploopyco/trackball_nano/rev1_001 Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2 years ago
Add a lot more data to info.json (#13366) * add some split data to info.json * add tags * add half of config_options.md to info.json * add support for designating master split * sort out split transport and primary * fix bad data in UNUSED_PINS * fixup custom transport * wip * allow for setting split right half keyboard matrix * add SPLIT_USB_DETECT * minor cleanup * fix an erroneous message * rework split.usb_detect * adding missing rgblight vars to info.json * add mouse_key to info.json * add all remaining options from docs/config_options.md * fix audio voices * qmk info: Change text output to use dotted notation * tweak layout output * resolve alias names * break out some functions to make flake8 happy * add a field for bootloader instructions * qmk generate-info-json: add a write-to-file argument Adds an argument that instructs qmk generate-info-json to write the output to a file instead of just to the terminal. * -arg_only, +action Because it was never my intention that one would have to specify a value for the argument that enables writing the file. * Bring qmk generate-info-json inline with other generate commands * pytest fixup * fix esca/getawayvan * fix data driven errors for bpiphany converters * features.force_nkro -> usb.force_nkro * split.primary->split.main * fix esca/getawayvan_f042 * fix the bpiphany converters for real * fix bpiphany/tiger_lily * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> * fix generate-api errors * fix matrix pin extraction for split boards * fix ploopyco/trackball_nano/rev1_001 Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2 years ago
Add a lot more data to info.json (#13366) * add some split data to info.json * add tags * add half of config_options.md to info.json * add support for designating master split * sort out split transport and primary * fix bad data in UNUSED_PINS * fixup custom transport * wip * allow for setting split right half keyboard matrix * add SPLIT_USB_DETECT * minor cleanup * fix an erroneous message * rework split.usb_detect * adding missing rgblight vars to info.json * add mouse_key to info.json * add all remaining options from docs/config_options.md * fix audio voices * qmk info: Change text output to use dotted notation * tweak layout output * resolve alias names * break out some functions to make flake8 happy * add a field for bootloader instructions * qmk generate-info-json: add a write-to-file argument Adds an argument that instructs qmk generate-info-json to write the output to a file instead of just to the terminal. * -arg_only, +action Because it was never my intention that one would have to specify a value for the argument that enables writing the file. * Bring qmk generate-info-json inline with other generate commands * pytest fixup * fix esca/getawayvan * fix data driven errors for bpiphany converters * features.force_nkro -> usb.force_nkro * split.primary->split.main * fix esca/getawayvan_f042 * fix the bpiphany converters for real * fix bpiphany/tiger_lily * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> * fix generate-api errors * fix matrix pin extraction for split boards * fix ploopyco/trackball_nano/rev1_001 Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2 years ago
  1. {
  2. "$schema": "https://json-schema.org/draft/2020-12/schema#",
  3. "$id": "qmk.keyboard.v1",
  4. "title": "Keyboard Information",
  5. "definitions": {
  6. "encoder_config": {
  7. "type": "object",
  8. "properties": {
  9. "driver": {
  10. "type": "string",
  11. "enum": ["custom", "quadrature"]
  12. },
  13. "rotary": {
  14. "type": "array",
  15. "items": {
  16. "type": "object",
  17. "additionalProperties": false,
  18. "required": ["pin_a", "pin_b"],
  19. "properties": {
  20. "pin_a": {"$ref": "qmk.definitions.v1#/mcu_pin"},
  21. "pin_b": {"$ref": "qmk.definitions.v1#/mcu_pin"},
  22. "resolution": {"$ref": "qmk.definitions.v1#/unsigned_int"}
  23. }
  24. }
  25. }
  26. }
  27. },
  28. "dip_switch_config": {
  29. "type": "object",
  30. "properties": {
  31. "pins": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}
  32. }
  33. }
  34. },
  35. "type": "object",
  36. "not": {"required": ["vendorId", "productId"]}, // reject via keys...
  37. "properties": {
  38. "keyboard_name": {"$ref": "qmk.definitions.v1#/text_identifier"},
  39. "keyboard_folder": {"$ref": "qmk.definitions.v1#/keyboard"},
  40. "maintainer": {"$ref": "qmk.definitions.v1#/text_identifier"},
  41. "manufacturer": {"$ref": "qmk.definitions.v1#/text_identifier"},
  42. "url": {
  43. "type": "string",
  44. "format": "uri"
  45. },
  46. "development_board": {
  47. "type": "string",
  48. "enum": ["promicro", "elite_c", "elite_pi", "proton_c", "kb2040", "promicro_rp2040", "blok", "michi", "bit_c_pro", "stemcell", "bluepill", "blackpill_f401", "blackpill_f411", "bonsai_c4", "helios", "liatris", "imera"]
  49. },
  50. "pin_compatible": {
  51. "type": "string",
  52. "enum": ["promicro", "elite_c"]
  53. },
  54. "processor": {
  55. "type": "string",
  56. "enum": [
  57. "cortex-m0",
  58. "cortex-m0plus",
  59. "cortex-m3",
  60. "cortex-m4",
  61. "cortex-m7",
  62. "cortex-m23",
  63. "cortex-m33",
  64. "cortex-m35p",
  65. "cortex-m55",
  66. "cortex-m85",
  67. "MKL26Z64",
  68. "MK20DX128",
  69. "MK20DX256",
  70. "MK64FX512",
  71. "MK66FX1M0",
  72. "RP2040",
  73. "STM32F042",
  74. "STM32F072",
  75. "STM32F103",
  76. "STM32F303",
  77. "STM32F401",
  78. "STM32F405",
  79. "STM32F407",
  80. "STM32F411",
  81. "STM32F446",
  82. "STM32G431",
  83. "STM32G474",
  84. "STM32H723",
  85. "STM32H733",
  86. "STM32L412",
  87. "STM32L422",
  88. "STM32L432",
  89. "STM32L433",
  90. "STM32L442",
  91. "STM32L443",
  92. "GD32VF103",
  93. "WB32F3G71",
  94. "WB32FQ95",
  95. "atmega16u2",
  96. "atmega32u2",
  97. "atmega16u4",
  98. "atmega32u4",
  99. "at90usb162",
  100. "at90usb646",
  101. "at90usb647",
  102. "at90usb1286",
  103. "at90usb1287",
  104. "atmega32a",
  105. "atmega328p",
  106. "atmega328",
  107. "attiny85",
  108. "unknown"
  109. ]
  110. },
  111. "apa102": {
  112. "type": "object",
  113. "additionalProperties": false,
  114. "properties": {
  115. "data_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
  116. "clock_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
  117. "default_brightness": {
  118. "type": "integer",
  119. "minimum": 0,
  120. "maximum": 31
  121. }
  122. }
  123. },
  124. "audio": {
  125. "type": "object",
  126. "additionalProperties": false,
  127. "properties": {
  128. "default": {
  129. "type": "object",
  130. "additionalProperties": false,
  131. "properties": {
  132. "on": {"type": "boolean"},
  133. "clicky": {"type": "boolean"}
  134. }
  135. },
  136. "macro_beep": {"type": "boolean"},
  137. "pins": {"$ref": "qmk.definitions.v1#/mcu_pin_array"},
  138. "voices": {"type": "boolean"}
  139. }
  140. },
  141. "backlight": {
  142. "type": "object",
  143. "additionalProperties": false,
  144. "properties": {
  145. "driver": {
  146. "type": "string",
  147. "enum": ["custom", "pwm", "software", "timer"]
  148. },
  149. "default": {
  150. "type": "object",
  151. "additionalProperties": false,
  152. "properties": {
  153. "on": {"type": "boolean"},
  154. "breathing": {"type": "boolean"},
  155. "brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
  156. }
  157. },
  158. "breathing": {"type": "boolean"},
  159. "breathing_period": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
  160. "levels": {
  161. "type": "integer",
  162. "minimum": 1,
  163. "maximum": 31
  164. },
  165. "max_brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
  166. "pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
  167. "pins": {"$ref": "qmk.definitions.v1#/mcu_pin_array"},
  168. "on_state": {"$ref": "qmk.definitions.v1#/bit"},
  169. "as_caps_lock": {"type": "boolean"}
  170. }
  171. },
  172. "bluetooth": {
  173. "type": "object",
  174. "additionalProperties": false,
  175. "properties": {
  176. "driver": {
  177. "type": "string",
  178. "enum": ["bluefruit_le", "custom", "rn42"]
  179. }
  180. }
  181. },
  182. "bootmagic":{
  183. "type": "object",
  184. "additionalProperties": false,
  185. "properties": {
  186. "enabled": {"type": "boolean"},
  187. "matrix": {
  188. "type": "array",
  189. "minItems": 2,
  190. "maxItems": 2,
  191. "items": {
  192. "type": "integer",
  193. "minimum": 0
  194. }
  195. }
  196. }
  197. },
  198. "board": {
  199. "type": "string",
  200. "minLength": 2,
  201. "pattern": "^[a-zA-Z_][0-9a-zA-Z_]*$"
  202. },
  203. "bootloader": {
  204. "type": "string",
  205. "enum": [
  206. "apm32-dfu",
  207. "atmel-dfu",
  208. "bootloadhid",
  209. "caterina",
  210. "custom",
  211. "gd32v-dfu",
  212. "halfkay",
  213. "kiibohd",
  214. "lufa-dfu",
  215. "lufa-ms",
  216. "md-boot",
  217. "qmk-dfu",
  218. "qmk-hid",
  219. "rp2040",
  220. "stm32-dfu",
  221. "stm32duino",
  222. "tinyuf2",
  223. "uf2boot",
  224. "unknown",
  225. "usbasploader",
  226. "wb32-dfu"
  227. ]
  228. },
  229. "bootloader_instructions": {
  230. "type": "string",
  231. "description": "Instructions for putting the keyboard into a mode that allows for firmware flashing."
  232. },
  233. "build": {
  234. "type": "object",
  235. "additionalProperties": false,
  236. "properties": {
  237. "debounce_type": {
  238. "type": "string",
  239. "enum": ["asym_eager_defer_pk", "custom", "sym_defer_g", "sym_defer_pk", "sym_defer_pr", "sym_eager_pk", "sym_eager_pr"]
  240. },
  241. "firmware_format": {
  242. "type": "string",
  243. "enum": ["bin", "hex", "uf2"]
  244. },
  245. "lto": {"type": "boolean"}
  246. }
  247. },
  248. "diode_direction": {
  249. "type": "string",
  250. "enum": ["COL2ROW", "ROW2COL"]
  251. },
  252. "debounce": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  253. "caps_word": {
  254. "type": "object",
  255. "additionalProperties": false,
  256. "properties": {
  257. "enabled": {"type": "boolean"},
  258. "both_shifts_turns_on": {"type": "boolean"},
  259. "double_tap_shift_turns_on": {"type": "boolean"},
  260. "idle_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  261. "invert_on_shift": {"type": "boolean"}
  262. }
  263. },
  264. "combo": {
  265. "type": "object",
  266. "properties": {
  267. "count": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  268. "term": {"$ref": "qmk.definitions.v1#/unsigned_int"}
  269. }
  270. },
  271. "community_layouts": {
  272. "type": "array",
  273. "items": {"$ref": "qmk.definitions.v1#/filename"}
  274. },
  275. "dip_switch": {
  276. "$ref": "#/definitions/dip_switch_config",
  277. "properties": {
  278. "enabled": {"type": "boolean"},
  279. "matrix_grid": {
  280. "type": "array",
  281. "minItems": 1,
  282. "items": {
  283. "type": "array",
  284. "minItems": 2,
  285. "maxItems": 2,
  286. "items": {
  287. "type": "integer",
  288. "minimum": 0
  289. }
  290. }
  291. }
  292. }
  293. },
  294. "eeprom": {
  295. "properties": {
  296. "driver": {"type": "string"},
  297. "wear_leveling": {
  298. "type": "object",
  299. "additionalProperties": false,
  300. "properties": {
  301. "driver": {
  302. "type": "string",
  303. "enum": ["custom", "embedded_flash", "legacy", "rp2040_flash", "spi_flash"]
  304. },
  305. "backing_size": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  306. "logical_size": {"$ref": "qmk.definitions.v1#/unsigned_int"}
  307. }
  308. }
  309. }
  310. },
  311. "encoder": {
  312. "$ref": "#/definitions/encoder_config",
  313. "properties": {
  314. "enabled": {"type": "boolean"}
  315. }
  316. },
  317. "features": {
  318. "$ref": "qmk.definitions.v1#/boolean_array",
  319. "propertyNames": {"$ref": "qmk.definitions.v1#/snake_case"},
  320. "not": {"required": ["lto"]}
  321. },
  322. "indicators": {
  323. "type": "object",
  324. "properties": {
  325. "caps_lock": {"$ref": "qmk.definitions.v1#/mcu_pin"},
  326. "num_lock": {"$ref": "qmk.definitions.v1#/mcu_pin"},
  327. "scroll_lock": {"$ref": "qmk.definitions.v1#/mcu_pin"},
  328. "compose": {"$ref": "qmk.definitions.v1#/mcu_pin"},
  329. "kana": {"$ref": "qmk.definitions.v1#/mcu_pin"},
  330. "on_state": {"$ref": "qmk.definitions.v1#/bit"}
  331. }
  332. },
  333. "keycodes": {"$ref": "qmk.definitions.v1#/keycode_decl_array"},
  334. "layout_aliases": {
  335. "type": "object",
  336. "additionalProperties": {"$ref": "qmk.definitions.v1#/layout_macro"}
  337. },
  338. "layouts": {
  339. "type": "object",
  340. "propertyNames": {"$ref": "qmk.definitions.v1#/layout_macro"},
  341. "additionalProperties": {
  342. "type": "object",
  343. "additionalProperties": false,
  344. "properties": {
  345. "filename": {"type": "string"},
  346. "c_macro": {"type": "boolean"},
  347. "json_layout": {"type": "boolean"},
  348. "layout": {
  349. "type": "array",
  350. "items": {
  351. "type": "object",
  352. "additionalProperties": false,
  353. "required": ["x", "y"],
  354. "properties": {
  355. "encoder": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  356. "label": {
  357. "type": "string",
  358. "pattern": "^[^\\n]*$"
  359. },
  360. "matrix": {
  361. "type": "array",
  362. "minItems": 2,
  363. "maxItems": 2,
  364. "items": {
  365. "type": "integer",
  366. "minimum": 0
  367. }
  368. },
  369. "r": {"$ref": "qmk.definitions.v1#/signed_decimal"},
  370. "rx": {"$ref": "qmk.definitions.v1#/unsigned_decimal"},
  371. "ry": {"$ref": "qmk.definitions.v1#/unsigned_decimal"},
  372. "h": {"$ref": "qmk.definitions.v1#/key_unit"},
  373. "w": {"$ref": "qmk.definitions.v1#/key_unit"},
  374. "x": {"$ref": "qmk.definitions.v1#/key_unit"},
  375. "y": {"$ref": "qmk.definitions.v1#/key_unit"}
  376. }
  377. }
  378. }
  379. }
  380. }
  381. },
  382. "leader_key": {
  383. "type": "object",
  384. "properties": {
  385. "timing": {"type": "boolean"},
  386. "strict_processing": {"type": "boolean"},
  387. "timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}
  388. }
  389. },
  390. "matrix_pins": {
  391. "type": "object",
  392. "additionalProperties": false,
  393. "properties": {
  394. "custom": {"type": "boolean"},
  395. "custom_lite": {"type": "boolean"},
  396. "ghost": {"type": "boolean"},
  397. "input_pressed_state": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  398. "io_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  399. "direct": {
  400. "type": "array",
  401. "items": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}
  402. },
  403. "cols": {"$ref": "qmk.definitions.v1#/mcu_pin_array"},
  404. "rows": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}
  405. }
  406. },
  407. "mouse_key": {
  408. "type": "object",
  409. "properties": {
  410. "enabled": {"type": "boolean"},
  411. "delay": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
  412. "interval": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
  413. "max_speed": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
  414. "time_to_max": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
  415. "wheel_delay": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
  416. }
  417. },
  418. "oneshot": {
  419. "type": "object",
  420. "properties": {
  421. "tap_toggle": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  422. "timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}
  423. }
  424. },
  425. "led_matrix": {
  426. "type": "object",
  427. "properties": {
  428. "animations": {
  429. "type": "object",
  430. "propertyNames": {"$ref": "qmk.definitions.v1#/snake_case"},
  431. "additionalProperties": {"type": "boolean"}
  432. },
  433. "default": {
  434. "type": "object",
  435. "additionalProperties": false,
  436. "properties": {
  437. "on": {"type": "boolean"},
  438. "animation": {"type": "string"},
  439. "val": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
  440. "speed": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
  441. }
  442. },
  443. "driver": {
  444. "type": "string",
  445. "enum": [
  446. "custom",
  447. "is31fl3218",
  448. "is31fl3729",
  449. "is31fl3731",
  450. "is31fl3733",
  451. "is31fl3736",
  452. "is31fl3737",
  453. "is31fl3741",
  454. "is31fl3742a",
  455. "is31fl3743a",
  456. "is31fl3745",
  457. "is31fl3746a",
  458. "snled27351"
  459. ]
  460. },
  461. "center_point": {
  462. "type": "array",
  463. "minItems": 2,
  464. "maxItems": 2,
  465. "items": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
  466. },
  467. "max_brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
  468. "timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  469. "val_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  470. "speed_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  471. "led_flush_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  472. "led_process_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  473. "react_on_keyup": {"type": "boolean"},
  474. "sleep": {"type": "boolean"},
  475. "split_count": {
  476. "type": "array",
  477. "minItems": 2,
  478. "maxItems": 2,
  479. "items": {"$ref": "qmk.definitions.v1#/unsigned_int"}
  480. },
  481. "layout": {
  482. "type": "array",
  483. "items": {
  484. "type": "object",
  485. "additionalProperties": false,
  486. "properties": {
  487. "matrix": {
  488. "type": "array",
  489. "minItems": 2,
  490. "maxItems": 2,
  491. "items": {
  492. "type": "integer",
  493. "minimum": 0
  494. }
  495. },
  496. "x": {"$ref": "qmk.definitions.v1#/key_unit"},
  497. "y": {"$ref": "qmk.definitions.v1#/key_unit"},
  498. "flags": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
  499. }
  500. }
  501. }
  502. }
  503. },
  504. "rgb_matrix": {
  505. "type": "object",
  506. "properties": {
  507. "animations": {
  508. "type": "object",
  509. "propertyNames": {"$ref": "qmk.definitions.v1#/snake_case"},
  510. "additionalProperties": {"type": "boolean"}
  511. },
  512. "default": {
  513. "type": "object",
  514. "additionalProperties": false,
  515. "properties": {
  516. "on": {"type": "boolean"},
  517. "animation": {"type": "string"},
  518. "hue": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
  519. "sat": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
  520. "val": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
  521. "speed": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
  522. }
  523. },
  524. "driver": {
  525. "type": "string",
  526. "enum": [
  527. "aw20216s",
  528. "custom",
  529. "is31fl3218",
  530. "is31fl3729",
  531. "is31fl3731",
  532. "is31fl3733",
  533. "is31fl3736",
  534. "is31fl3737",
  535. "is31fl3741",
  536. "is31fl3742a",
  537. "is31fl3743a",
  538. "is31fl3745",
  539. "is31fl3746a",
  540. "snled27351",
  541. "ws2812"
  542. ]
  543. },
  544. "center_point": {
  545. "type": "array",
  546. "minItems": 2,
  547. "maxItems": 2,
  548. "items": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
  549. },
  550. "max_brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
  551. "timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  552. "hue_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  553. "sat_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  554. "val_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  555. "speed_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  556. "led_flush_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  557. "led_process_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  558. "react_on_keyup": {"type": "boolean"},
  559. "sleep": {"type": "boolean"},
  560. "split_count": {
  561. "type": "array",
  562. "minItems": 2,
  563. "maxItems": 2,
  564. "items": {"$ref": "qmk.definitions.v1#/unsigned_int"}
  565. },
  566. "layout": {
  567. "type": "array",
  568. "items": {
  569. "type": "object",
  570. "additionalProperties": false,
  571. "properties": {
  572. "matrix": {
  573. "type": "array",
  574. "minItems": 2,
  575. "maxItems": 2,
  576. "items": {
  577. "type": "integer",
  578. "minimum": 0
  579. }
  580. },
  581. "x": {"$ref": "qmk.definitions.v1#/key_unit"},
  582. "y": {"$ref": "qmk.definitions.v1#/key_unit"},
  583. "flags": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
  584. }
  585. }
  586. }
  587. }
  588. },
  589. "rgblight": {
  590. "type": "object",
  591. "additionalProperties": false,
  592. "properties": {
  593. "animations": {
  594. "type": "object",
  595. "propertyNames": {"$ref": "qmk.definitions.v1#/snake_case"},
  596. "additionalProperties": {"type": "boolean"}
  597. },
  598. "brightness_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  599. "default": {
  600. "type": "object",
  601. "additionalProperties": false,
  602. "properties": {
  603. "on": {"type": "boolean"},
  604. "animation": {"type": "string"},
  605. "hue": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
  606. "sat": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
  607. "val": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
  608. "speed": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
  609. }
  610. },
  611. "driver": {
  612. "type": "string",
  613. "enum": ["apa102", "custom", "ws2812"]
  614. },
  615. "hue_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  616. "layers": {
  617. "type": "object",
  618. "additionalProperties": false,
  619. "properties": {
  620. "blink": {"type": "boolean"},
  621. "enabled": {"type": "boolean"},
  622. "max": {
  623. "type": "integer",
  624. "minimum": 1,
  625. "maximum": 32
  626. },
  627. "override_rgb": {"type": "boolean"}
  628. }
  629. },
  630. "led_count": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  631. "led_map": {
  632. "type": "array",
  633. "minItems": 2,
  634. "items": {"$ref": "qmk.definitions.v1#/unsigned_int"}
  635. },
  636. "max_brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
  637. "pin": {
  638. "$ref": "qmk.definitions.v1#/mcu_pin",
  639. "$comment": "Deprecated: use ws2812.pin instead"
  640. },
  641. "rgbw": {"type": "boolean"},
  642. "saturation_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  643. "sleep": {"type": "boolean"},
  644. "split": {"type": "boolean"},
  645. "split_count": {
  646. "type": "array",
  647. "minItems": 2,
  648. "maxItems": 2,
  649. "items": {"$ref": "qmk.definitions.v1#/unsigned_int"}
  650. }
  651. }
  652. },
  653. "secure": {
  654. "type": "object",
  655. "additionalProperties": false,
  656. "properties": {
  657. "enabled": {"type": "boolean"},
  658. "unlock_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  659. "idle_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  660. "unlock_sequence": {
  661. "type": "array",
  662. "minItems": 1,
  663. "maxItems": 5,
  664. "items": {
  665. "type": "array",
  666. "minItems": 2,
  667. "maxItems": 2,
  668. "items": {
  669. "type": "integer",
  670. "minimum": 0
  671. }
  672. }
  673. }
  674. }
  675. },
  676. "stenography": {
  677. "type": "object",
  678. "additionalProperties": false,
  679. "properties": {
  680. "enabled": {"type": "boolean"},
  681. "protocol": {
  682. "type": "string",
  683. "enum": ["all", "geminipr", "txbolt"]
  684. }
  685. }
  686. },
  687. "ps2": {
  688. "type": "object",
  689. "additionalProperties": false,
  690. "properties": {
  691. "enabled": {"type": "boolean"},
  692. "mouse_enabled": {"type": "boolean"},
  693. "clock_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
  694. "data_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
  695. "driver": {
  696. "type": "string",
  697. "enum": ["busywait", "interrupt", "usart", "vendor"]
  698. }
  699. }
  700. },
  701. "split": {
  702. "type": "object",
  703. "additionalProperties": false,
  704. "properties": {
  705. "enabled": {"type": "boolean"},
  706. "bootmagic":{
  707. "type": "object",
  708. "additionalProperties": false,
  709. "properties": {
  710. "matrix": {
  711. "type": "array",
  712. "minItems": 2,
  713. "maxItems": 2,
  714. "items": {
  715. "type": "integer",
  716. "minimum": 0
  717. }
  718. }
  719. }
  720. },
  721. "matrix_pins": {
  722. "type": "object",
  723. "additionalProperties": false,
  724. "properties": {
  725. "right": {
  726. "type": "object",
  727. "additionalProperties": false,
  728. "properties": {
  729. "direct": {
  730. "type": "array",
  731. "items": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}
  732. },
  733. "cols": {"$ref": "qmk.definitions.v1#/mcu_pin_array"},
  734. "rows": {"$ref": "qmk.definitions.v1#/mcu_pin_array"},
  735. "unused": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}
  736. }
  737. }
  738. }
  739. },
  740. "dip_switch": {
  741. "type": "object",
  742. "additionalProperties": false,
  743. "properties": {
  744. "right": {
  745. "$ref": "#/definitions/dip_switch_config"
  746. }
  747. }
  748. },
  749. "encoder": {
  750. "type": "object",
  751. "additionalProperties": false,
  752. "properties": {
  753. "right": {
  754. "$ref": "#/definitions/encoder_config"
  755. }
  756. }
  757. },
  758. "handedness": {
  759. "type": "object",
  760. "additionalProperties": false,
  761. "properties": {
  762. "pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
  763. "matrix_grid": {
  764. "$ref": "qmk.definitions.v1#/mcu_pin_array",
  765. "minItems": 2,
  766. "maxItems": 2
  767. }
  768. }
  769. },
  770. "soft_serial_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
  771. "soft_serial_speed": {
  772. "type": "integer",
  773. "minimum": 0,
  774. "maximum": 5
  775. },
  776. "transport": {
  777. "type": "object",
  778. "additionalProperties": false,
  779. "properties": {
  780. "protocol": {
  781. "type": "string",
  782. "enum": ["custom", "i2c", "serial", "serial_usart"]
  783. },
  784. "sync": {
  785. "type": "object",
  786. "additionalProperties": false,
  787. "properties": {
  788. "activity": {"type": "boolean"},
  789. "detected_os": {"type": "boolean"},
  790. "haptic": {"type": "boolean"},
  791. "layer_state": {"type": "boolean"},
  792. "indicators": {"type": "boolean"},
  793. "matrix_state": {"type": "boolean"},
  794. "modifiers": {"type": "boolean"},
  795. "oled": {"type": "boolean"},
  796. "st7565": {"type": "boolean"},
  797. "wpm": {"type": "boolean"}
  798. }
  799. },
  800. "watchdog": {"type": "boolean"},
  801. "watchdog_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  802. "sync_matrix_state": {
  803. "type": "boolean",
  804. "$comment": "Deprecated: use sync.matrix_state instead"
  805. },
  806. "sync_modifiers": {
  807. "type": "boolean",
  808. "$comment": "Deprecated: use sync.modifiers instead"
  809. }
  810. }
  811. },
  812. "usb_detect": {
  813. "type": "object",
  814. "additionalProperties": false,
  815. "properties": {
  816. "enabled": {"type": "boolean"},
  817. "polling_interval": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  818. "timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}
  819. }
  820. },
  821. "main": {
  822. "type": "string",
  823. "enum": ["eeprom", "left", "matrix_grid", "pin", "right"],
  824. "$comment": "Deprecated: use config.h options for now"
  825. },
  826. "matrix_grid": {
  827. "type": "array",
  828. "items": {"$ref": "qmk.definitions.v1#/mcu_pin"},
  829. "$comment": "Deprecated: use split.handedness.matrix_grid instead"
  830. }
  831. }
  832. },
  833. "tags": {
  834. "type": "array",
  835. "items": {"type": "string"}
  836. },
  837. "tapping": {
  838. "type": "object",
  839. "properties": {
  840. "force_hold": {"type": "boolean"},
  841. "force_hold_per_key": {"type": "boolean"},
  842. "ignore_mod_tap_interrupt": {"type": "boolean"},
  843. "hold_on_other_key_press": {"type": "boolean"},
  844. "hold_on_other_key_press_per_key": {"type": "boolean"},
  845. "permissive_hold": {"type": "boolean"},
  846. "permissive_hold_per_key": {"type": "boolean"},
  847. "retro": {"type": "boolean"},
  848. "retro_per_key": {"type": "boolean"},
  849. "term": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  850. "term_per_key": {"type": "boolean"},
  851. "toggle": {"$ref": "qmk.definitions.v1#/unsigned_int"}
  852. }
  853. },
  854. "usb": {
  855. "type": "object",
  856. "additionalProperties": false,
  857. "properties": {
  858. "device_ver": {
  859. "$ref": "qmk.definitions.v1#/hex_number_4d",
  860. "$comment": "Deprecated: use device_version instead"
  861. },
  862. "device_version": {"$ref": "qmk.definitions.v1#/bcd_version"},
  863. "force_nkro": {"type": "boolean"},
  864. "pid": {"$ref": "qmk.definitions.v1#/hex_number_4d"},
  865. "vid": {"$ref": "qmk.definitions.v1#/hex_number_4d"},
  866. "max_power": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  867. "no_startup_check": {"type": "boolean"},
  868. "polling_interval": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
  869. "shared_endpoint": {
  870. "type": "object",
  871. "additionalProperties": false,
  872. "properties": {
  873. "keyboard": {"type": "boolean"},
  874. "mouse": {"type": "boolean"}
  875. }
  876. },
  877. "suspend_wakeup_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  878. "wait_for": {"type": "boolean"}
  879. }
  880. },
  881. "qmk": {
  882. "type": "object",
  883. "additionalProperties": false,
  884. "properties": {
  885. "keys_per_scan": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
  886. "tap_keycode_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  887. "tap_capslock_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  888. "locking": {
  889. "type": "object",
  890. "additionalProperties": false,
  891. "properties": {
  892. "enabled": {"type": "boolean"},
  893. "resync": {"type": "boolean"}
  894. }
  895. }
  896. }
  897. },
  898. "qmk_lufa_bootloader": {
  899. "type": "object",
  900. "additionalProperties": false,
  901. "properties": {
  902. "esc_output": {"$ref": "qmk.definitions.v1#/mcu_pin"},
  903. "esc_input": {"$ref": "qmk.definitions.v1#/mcu_pin"},
  904. "led": {"$ref": "qmk.definitions.v1#/mcu_pin"},
  905. "speaker": {"$ref": "qmk.definitions.v1#/mcu_pin"}
  906. }
  907. },
  908. "ws2812": {
  909. "type": "object",
  910. "additionalProperties": false,
  911. "properties": {
  912. "driver": {
  913. "type": "string",
  914. "enum": ["bitbang", "custom", "i2c", "pwm", "spi", "vendor"]
  915. },
  916. "pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
  917. "i2c_address": {"$ref": "qmk.definitions.v1#/hex_number_2d"},
  918. "i2c_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}
  919. }
  920. }
  921. }
  922. }