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.

949 lines
37 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
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. "driver": {
  137. "type": "string",
  138. "enum": ["dac_additive", "dac_basic", "pwm_software", "pwm_hardware"]
  139. },
  140. "macro_beep": {"type": "boolean"},
  141. "pins": {"$ref": "qmk.definitions.v1#/mcu_pin_array"},
  142. "power_control": {
  143. "type": "object",
  144. "additionalProperties": false,
  145. "properties": {
  146. "on_state": {"$ref": "qmk.definitions.v1#/bit"},
  147. "pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}
  148. }
  149. },
  150. "voices": {"type": "boolean"}
  151. }
  152. },
  153. "backlight": {
  154. "type": "object",
  155. "additionalProperties": false,
  156. "properties": {
  157. "driver": {
  158. "type": "string",
  159. "enum": ["custom", "pwm", "software", "timer"]
  160. },
  161. "default": {
  162. "type": "object",
  163. "additionalProperties": false,
  164. "properties": {
  165. "on": {"type": "boolean"},
  166. "breathing": {"type": "boolean"},
  167. "brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
  168. }
  169. },
  170. "breathing": {"type": "boolean"},
  171. "breathing_period": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
  172. "levels": {
  173. "type": "integer",
  174. "minimum": 1,
  175. "maximum": 31
  176. },
  177. "max_brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
  178. "pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
  179. "pins": {"$ref": "qmk.definitions.v1#/mcu_pin_array"},
  180. "on_state": {"$ref": "qmk.definitions.v1#/bit"},
  181. "as_caps_lock": {"type": "boolean"}
  182. }
  183. },
  184. "bluetooth": {
  185. "type": "object",
  186. "additionalProperties": false,
  187. "properties": {
  188. "driver": {
  189. "type": "string",
  190. "enum": ["bluefruit_le", "custom", "rn42"]
  191. }
  192. }
  193. },
  194. "bootmagic":{
  195. "type": "object",
  196. "additionalProperties": false,
  197. "properties": {
  198. "enabled": {"type": "boolean"},
  199. "matrix": {
  200. "type": "array",
  201. "minItems": 2,
  202. "maxItems": 2,
  203. "items": {
  204. "type": "integer",
  205. "minimum": 0
  206. }
  207. }
  208. }
  209. },
  210. "board": {
  211. "type": "string",
  212. "minLength": 2,
  213. "pattern": "^[a-zA-Z_][0-9a-zA-Z_]*$"
  214. },
  215. "bootloader": {
  216. "type": "string",
  217. "enum": [
  218. "apm32-dfu",
  219. "atmel-dfu",
  220. "bootloadhid",
  221. "caterina",
  222. "custom",
  223. "gd32v-dfu",
  224. "halfkay",
  225. "kiibohd",
  226. "lufa-dfu",
  227. "lufa-ms",
  228. "md-boot",
  229. "qmk-dfu",
  230. "qmk-hid",
  231. "rp2040",
  232. "stm32-dfu",
  233. "stm32duino",
  234. "tinyuf2",
  235. "uf2boot",
  236. "unknown",
  237. "usbasploader",
  238. "wb32-dfu"
  239. ]
  240. },
  241. "bootloader_instructions": {
  242. "type": "string",
  243. "description": "Instructions for putting the keyboard into a mode that allows for firmware flashing."
  244. },
  245. "build": {
  246. "type": "object",
  247. "additionalProperties": false,
  248. "properties": {
  249. "debounce_type": {
  250. "type": "string",
  251. "enum": ["asym_eager_defer_pk", "custom", "sym_defer_g", "sym_defer_pk", "sym_defer_pr", "sym_eager_pk", "sym_eager_pr"]
  252. },
  253. "firmware_format": {
  254. "type": "string",
  255. "enum": ["bin", "hex", "uf2"]
  256. },
  257. "lto": {"type": "boolean"}
  258. }
  259. },
  260. "diode_direction": {
  261. "type": "string",
  262. "enum": ["COL2ROW", "ROW2COL"]
  263. },
  264. "debounce": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  265. "caps_word": {
  266. "type": "object",
  267. "additionalProperties": false,
  268. "properties": {
  269. "enabled": {"type": "boolean"},
  270. "both_shifts_turns_on": {"type": "boolean"},
  271. "double_tap_shift_turns_on": {"type": "boolean"},
  272. "idle_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  273. "invert_on_shift": {"type": "boolean"}
  274. }
  275. },
  276. "combo": {
  277. "type": "object",
  278. "properties": {
  279. "count": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  280. "term": {"$ref": "qmk.definitions.v1#/unsigned_int"}
  281. }
  282. },
  283. "community_layouts": {
  284. "type": "array",
  285. "items": {"$ref": "qmk.definitions.v1#/filename"}
  286. },
  287. "dip_switch": {
  288. "$ref": "#/definitions/dip_switch_config",
  289. "properties": {
  290. "enabled": {"type": "boolean"},
  291. "matrix_grid": {
  292. "type": "array",
  293. "minItems": 1,
  294. "items": {
  295. "type": "array",
  296. "minItems": 2,
  297. "maxItems": 2,
  298. "items": {
  299. "type": "integer",
  300. "minimum": 0
  301. }
  302. }
  303. }
  304. }
  305. },
  306. "eeprom": {
  307. "properties": {
  308. "driver": {"type": "string"},
  309. "wear_leveling": {
  310. "type": "object",
  311. "additionalProperties": false,
  312. "properties": {
  313. "driver": {
  314. "type": "string",
  315. "enum": ["custom", "embedded_flash", "legacy", "rp2040_flash", "spi_flash"]
  316. },
  317. "backing_size": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  318. "logical_size": {"$ref": "qmk.definitions.v1#/unsigned_int"}
  319. }
  320. }
  321. }
  322. },
  323. "encoder": {
  324. "$ref": "#/definitions/encoder_config",
  325. "properties": {
  326. "enabled": {"type": "boolean"}
  327. }
  328. },
  329. "features": {
  330. "$ref": "qmk.definitions.v1#/boolean_array",
  331. "propertyNames": {"$ref": "qmk.definitions.v1#/snake_case"},
  332. "not": {"required": ["lto"]}
  333. },
  334. "indicators": {
  335. "type": "object",
  336. "properties": {
  337. "caps_lock": {"$ref": "qmk.definitions.v1#/mcu_pin"},
  338. "num_lock": {"$ref": "qmk.definitions.v1#/mcu_pin"},
  339. "scroll_lock": {"$ref": "qmk.definitions.v1#/mcu_pin"},
  340. "compose": {"$ref": "qmk.definitions.v1#/mcu_pin"},
  341. "kana": {"$ref": "qmk.definitions.v1#/mcu_pin"},
  342. "on_state": {"$ref": "qmk.definitions.v1#/bit"}
  343. }
  344. },
  345. "keycodes": {"$ref": "qmk.definitions.v1#/keycode_decl_array"},
  346. "layout_aliases": {
  347. "type": "object",
  348. "additionalProperties": {"$ref": "qmk.definitions.v1#/layout_macro"}
  349. },
  350. "layouts": {
  351. "type": "object",
  352. "propertyNames": {"$ref": "qmk.definitions.v1#/layout_macro"},
  353. "additionalProperties": {
  354. "type": "object",
  355. "additionalProperties": false,
  356. "properties": {
  357. "filename": {"type": "string"},
  358. "c_macro": {"type": "boolean"},
  359. "json_layout": {"type": "boolean"},
  360. "layout": {
  361. "type": "array",
  362. "items": {
  363. "type": "object",
  364. "additionalProperties": false,
  365. "required": ["x", "y"],
  366. "properties": {
  367. "encoder": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  368. "label": {
  369. "type": "string",
  370. "pattern": "^[^\\n]*$"
  371. },
  372. "matrix": {
  373. "type": "array",
  374. "minItems": 2,
  375. "maxItems": 2,
  376. "items": {
  377. "type": "integer",
  378. "minimum": 0
  379. }
  380. },
  381. "r": {"$ref": "qmk.definitions.v1#/signed_decimal"},
  382. "rx": {"$ref": "qmk.definitions.v1#/unsigned_decimal"},
  383. "ry": {"$ref": "qmk.definitions.v1#/unsigned_decimal"},
  384. "h": {"$ref": "qmk.definitions.v1#/key_unit"},
  385. "w": {"$ref": "qmk.definitions.v1#/key_unit"},
  386. "x": {"$ref": "qmk.definitions.v1#/key_unit"},
  387. "y": {"$ref": "qmk.definitions.v1#/key_unit"}
  388. }
  389. }
  390. }
  391. }
  392. }
  393. },
  394. "haptic": {
  395. "type": "object",
  396. "properties": {
  397. "driver": {
  398. "type": "string",
  399. "enum": ["drv2605l", "solenoid"]
  400. }
  401. }
  402. },
  403. "leader_key": {
  404. "type": "object",
  405. "properties": {
  406. "timing": {"type": "boolean"},
  407. "strict_processing": {"type": "boolean"},
  408. "timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}
  409. }
  410. },
  411. "matrix_pins": {
  412. "type": "object",
  413. "additionalProperties": false,
  414. "properties": {
  415. "custom": {"type": "boolean"},
  416. "custom_lite": {"type": "boolean"},
  417. "ghost": {"type": "boolean"},
  418. "input_pressed_state": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  419. "io_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  420. "direct": {
  421. "type": "array",
  422. "items": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}
  423. },
  424. "cols": {"$ref": "qmk.definitions.v1#/mcu_pin_array"},
  425. "rows": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}
  426. }
  427. },
  428. "mouse_key": {
  429. "type": "object",
  430. "properties": {
  431. "enabled": {"type": "boolean"},
  432. "delay": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
  433. "interval": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
  434. "max_speed": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
  435. "time_to_max": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
  436. "wheel_delay": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
  437. }
  438. },
  439. "oneshot": {
  440. "type": "object",
  441. "properties": {
  442. "tap_toggle": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  443. "timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}
  444. }
  445. },
  446. "led_matrix": {
  447. "type": "object",
  448. "properties": {
  449. "animations": {
  450. "type": "object",
  451. "propertyNames": {"$ref": "qmk.definitions.v1#/snake_case"},
  452. "additionalProperties": {"type": "boolean"}
  453. },
  454. "default": {
  455. "type": "object",
  456. "additionalProperties": false,
  457. "properties": {
  458. "on": {"type": "boolean"},
  459. "animation": {"type": "string"},
  460. "val": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
  461. "speed": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
  462. }
  463. },
  464. "driver": {
  465. "type": "string",
  466. "enum": [
  467. "custom",
  468. "is31fl3218",
  469. "is31fl3236",
  470. "is31fl3729",
  471. "is31fl3731",
  472. "is31fl3733",
  473. "is31fl3736",
  474. "is31fl3737",
  475. "is31fl3741",
  476. "is31fl3742a",
  477. "is31fl3743a",
  478. "is31fl3745",
  479. "is31fl3746a",
  480. "snled27351"
  481. ]
  482. },
  483. "center_point": {
  484. "type": "array",
  485. "minItems": 2,
  486. "maxItems": 2,
  487. "items": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
  488. },
  489. "max_brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
  490. "timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  491. "val_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  492. "speed_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  493. "led_flush_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  494. "led_process_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  495. "react_on_keyup": {"type": "boolean"},
  496. "sleep": {"type": "boolean"},
  497. "split_count": {
  498. "type": "array",
  499. "minItems": 2,
  500. "maxItems": 2,
  501. "items": {"$ref": "qmk.definitions.v1#/unsigned_int"}
  502. },
  503. "layout": {
  504. "type": "array",
  505. "items": {
  506. "type": "object",
  507. "additionalProperties": false,
  508. "properties": {
  509. "matrix": {
  510. "type": "array",
  511. "minItems": 2,
  512. "maxItems": 2,
  513. "items": {
  514. "type": "integer",
  515. "minimum": 0
  516. }
  517. },
  518. "x": {"$ref": "qmk.definitions.v1#/key_unit"},
  519. "y": {"$ref": "qmk.definitions.v1#/key_unit"},
  520. "flags": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
  521. }
  522. }
  523. }
  524. }
  525. },
  526. "rgb_matrix": {
  527. "type": "object",
  528. "properties": {
  529. "animations": {
  530. "type": "object",
  531. "propertyNames": {"$ref": "qmk.definitions.v1#/snake_case"},
  532. "additionalProperties": {"type": "boolean"}
  533. },
  534. "default": {
  535. "type": "object",
  536. "additionalProperties": false,
  537. "properties": {
  538. "on": {"type": "boolean"},
  539. "animation": {"type": "string"},
  540. "hue": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
  541. "sat": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
  542. "val": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
  543. "speed": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
  544. }
  545. },
  546. "driver": {
  547. "type": "string",
  548. "enum": [
  549. "aw20216s",
  550. "custom",
  551. "is31fl3218",
  552. "is31fl3236",
  553. "is31fl3729",
  554. "is31fl3731",
  555. "is31fl3733",
  556. "is31fl3736",
  557. "is31fl3737",
  558. "is31fl3741",
  559. "is31fl3742a",
  560. "is31fl3743a",
  561. "is31fl3745",
  562. "is31fl3746a",
  563. "snled27351",
  564. "ws2812"
  565. ]
  566. },
  567. "center_point": {
  568. "type": "array",
  569. "minItems": 2,
  570. "maxItems": 2,
  571. "items": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
  572. },
  573. "max_brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
  574. "timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  575. "hue_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  576. "sat_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  577. "val_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  578. "speed_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  579. "led_flush_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  580. "led_process_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  581. "react_on_keyup": {"type": "boolean"},
  582. "sleep": {"type": "boolean"},
  583. "split_count": {
  584. "type": "array",
  585. "minItems": 2,
  586. "maxItems": 2,
  587. "items": {"$ref": "qmk.definitions.v1#/unsigned_int"}
  588. },
  589. "layout": {
  590. "type": "array",
  591. "items": {
  592. "type": "object",
  593. "additionalProperties": false,
  594. "properties": {
  595. "matrix": {
  596. "type": "array",
  597. "minItems": 2,
  598. "maxItems": 2,
  599. "items": {
  600. "type": "integer",
  601. "minimum": 0
  602. }
  603. },
  604. "x": {"$ref": "qmk.definitions.v1#/key_unit"},
  605. "y": {"$ref": "qmk.definitions.v1#/key_unit"},
  606. "flags": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
  607. }
  608. }
  609. }
  610. }
  611. },
  612. "rgblight": {
  613. "type": "object",
  614. "additionalProperties": false,
  615. "properties": {
  616. "animations": {
  617. "type": "object",
  618. "propertyNames": {"$ref": "qmk.definitions.v1#/snake_case"},
  619. "additionalProperties": {"type": "boolean"}
  620. },
  621. "brightness_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  622. "default": {
  623. "type": "object",
  624. "additionalProperties": false,
  625. "properties": {
  626. "on": {"type": "boolean"},
  627. "animation": {"type": "string"},
  628. "hue": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
  629. "sat": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
  630. "val": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
  631. "speed": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
  632. }
  633. },
  634. "driver": {
  635. "type": "string",
  636. "enum": ["apa102", "custom", "ws2812"]
  637. },
  638. "hue_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  639. "layers": {
  640. "type": "object",
  641. "additionalProperties": false,
  642. "properties": {
  643. "blink": {"type": "boolean"},
  644. "enabled": {"type": "boolean"},
  645. "max": {
  646. "type": "integer",
  647. "minimum": 1,
  648. "maximum": 32
  649. },
  650. "override_rgb": {"type": "boolean"}
  651. }
  652. },
  653. "led_count": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  654. "led_map": {
  655. "type": "array",
  656. "minItems": 2,
  657. "items": {"$ref": "qmk.definitions.v1#/unsigned_int"}
  658. },
  659. "max_brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
  660. "pin": {
  661. "$ref": "qmk.definitions.v1#/mcu_pin",
  662. "$comment": "Deprecated: use ws2812.pin instead"
  663. },
  664. "rgbw": {
  665. "type": "boolean",
  666. "$comment": "Deprecated: use ws2812.rgbw instead"
  667. },
  668. "saturation_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  669. "sleep": {"type": "boolean"},
  670. "split": {"type": "boolean"},
  671. "split_count": {
  672. "type": "array",
  673. "minItems": 2,
  674. "maxItems": 2,
  675. "items": {"$ref": "qmk.definitions.v1#/unsigned_int"}
  676. }
  677. }
  678. },
  679. "secure": {
  680. "type": "object",
  681. "additionalProperties": false,
  682. "properties": {
  683. "enabled": {"type": "boolean"},
  684. "unlock_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  685. "idle_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  686. "unlock_sequence": {
  687. "type": "array",
  688. "minItems": 1,
  689. "maxItems": 5,
  690. "items": {
  691. "type": "array",
  692. "minItems": 2,
  693. "maxItems": 2,
  694. "items": {
  695. "type": "integer",
  696. "minimum": 0
  697. }
  698. }
  699. }
  700. }
  701. },
  702. "stenography": {
  703. "type": "object",
  704. "additionalProperties": false,
  705. "properties": {
  706. "enabled": {"type": "boolean"},
  707. "protocol": {
  708. "type": "string",
  709. "enum": ["all", "geminipr", "txbolt"]
  710. }
  711. }
  712. },
  713. "ps2": {
  714. "type": "object",
  715. "additionalProperties": false,
  716. "properties": {
  717. "enabled": {"type": "boolean"},
  718. "mouse_enabled": {"type": "boolean"},
  719. "clock_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
  720. "data_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
  721. "driver": {
  722. "type": "string",
  723. "enum": ["busywait", "interrupt", "usart", "vendor"]
  724. }
  725. }
  726. },
  727. "split": {
  728. "type": "object",
  729. "additionalProperties": false,
  730. "properties": {
  731. "enabled": {"type": "boolean"},
  732. "bootmagic":{
  733. "type": "object",
  734. "additionalProperties": false,
  735. "properties": {
  736. "matrix": {
  737. "type": "array",
  738. "minItems": 2,
  739. "maxItems": 2,
  740. "items": {
  741. "type": "integer",
  742. "minimum": 0
  743. }
  744. }
  745. }
  746. },
  747. "matrix_pins": {
  748. "type": "object",
  749. "additionalProperties": false,
  750. "properties": {
  751. "right": {
  752. "type": "object",
  753. "additionalProperties": false,
  754. "properties": {
  755. "direct": {
  756. "type": "array",
  757. "items": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}
  758. },
  759. "cols": {"$ref": "qmk.definitions.v1#/mcu_pin_array"},
  760. "rows": {"$ref": "qmk.definitions.v1#/mcu_pin_array"},
  761. "unused": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}
  762. }
  763. }
  764. }
  765. },
  766. "dip_switch": {
  767. "type": "object",
  768. "additionalProperties": false,
  769. "properties": {
  770. "right": {
  771. "$ref": "#/definitions/dip_switch_config"
  772. }
  773. }
  774. },
  775. "encoder": {
  776. "type": "object",
  777. "additionalProperties": false,
  778. "properties": {
  779. "right": {
  780. "$ref": "#/definitions/encoder_config"
  781. }
  782. }
  783. },
  784. "handedness": {
  785. "type": "object",
  786. "additionalProperties": false,
  787. "properties": {
  788. "pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
  789. "matrix_grid": {
  790. "$ref": "qmk.definitions.v1#/mcu_pin_array",
  791. "minItems": 2,
  792. "maxItems": 2
  793. }
  794. }
  795. },
  796. "soft_serial_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
  797. "soft_serial_speed": {
  798. "type": "integer",
  799. "minimum": 0,
  800. "maximum": 5
  801. },
  802. "transport": {
  803. "type": "object",
  804. "additionalProperties": false,
  805. "properties": {
  806. "protocol": {
  807. "type": "string",
  808. "enum": ["custom", "i2c", "serial"]
  809. },
  810. "sync": {
  811. "type": "object",
  812. "additionalProperties": false,
  813. "properties": {
  814. "activity": {"type": "boolean"},
  815. "detected_os": {"type": "boolean"},
  816. "haptic": {"type": "boolean"},
  817. "layer_state": {"type": "boolean"},
  818. "indicators": {"type": "boolean"},
  819. "matrix_state": {"type": "boolean"},
  820. "modifiers": {"type": "boolean"},
  821. "oled": {"type": "boolean"},
  822. "st7565": {"type": "boolean"},
  823. "wpm": {"type": "boolean"}
  824. }
  825. },
  826. "watchdog": {"type": "boolean"},
  827. "watchdog_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  828. "sync_matrix_state": {
  829. "type": "boolean",
  830. "$comment": "Deprecated: use sync.matrix_state instead"
  831. },
  832. "sync_modifiers": {
  833. "type": "boolean",
  834. "$comment": "Deprecated: use sync.modifiers instead"
  835. }
  836. }
  837. },
  838. "usb_detect": {
  839. "type": "object",
  840. "additionalProperties": false,
  841. "properties": {
  842. "enabled": {"type": "boolean"},
  843. "polling_interval": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  844. "timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}
  845. }
  846. },
  847. "main": {
  848. "type": "string",
  849. "enum": ["eeprom", "left", "matrix_grid", "pin", "right"],
  850. "$comment": "Deprecated: use config.h options for now"
  851. },
  852. "matrix_grid": {
  853. "type": "array",
  854. "items": {"$ref": "qmk.definitions.v1#/mcu_pin"},
  855. "$comment": "Deprecated: use split.handedness.matrix_grid instead"
  856. }
  857. }
  858. },
  859. "tags": {
  860. "type": "array",
  861. "items": {"type": "string"}
  862. },
  863. "tapping": {
  864. "type": "object",
  865. "properties": {
  866. "force_hold": {"type": "boolean"},
  867. "force_hold_per_key": {"type": "boolean"},
  868. "ignore_mod_tap_interrupt": {"type": "boolean"},
  869. "hold_on_other_key_press": {"type": "boolean"},
  870. "hold_on_other_key_press_per_key": {"type": "boolean"},
  871. "permissive_hold": {"type": "boolean"},
  872. "permissive_hold_per_key": {"type": "boolean"},
  873. "retro": {"type": "boolean"},
  874. "retro_per_key": {"type": "boolean"},
  875. "term": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  876. "term_per_key": {"type": "boolean"},
  877. "toggle": {"$ref": "qmk.definitions.v1#/unsigned_int"}
  878. }
  879. },
  880. "usb": {
  881. "type": "object",
  882. "additionalProperties": false,
  883. "properties": {
  884. "device_ver": {
  885. "$ref": "qmk.definitions.v1#/hex_number_4d",
  886. "$comment": "Deprecated: use device_version instead"
  887. },
  888. "device_version": {"$ref": "qmk.definitions.v1#/bcd_version"},
  889. "force_nkro": {"type": "boolean"},
  890. "pid": {"$ref": "qmk.definitions.v1#/hex_number_4d"},
  891. "vid": {"$ref": "qmk.definitions.v1#/hex_number_4d"},
  892. "max_power": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  893. "no_startup_check": {"type": "boolean"},
  894. "polling_interval": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
  895. "shared_endpoint": {
  896. "type": "object",
  897. "additionalProperties": false,
  898. "properties": {
  899. "keyboard": {"type": "boolean"},
  900. "mouse": {"type": "boolean"}
  901. }
  902. },
  903. "suspend_wakeup_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  904. "wait_for_enumeration": {"type": "boolean"}
  905. }
  906. },
  907. "qmk": {
  908. "type": "object",
  909. "additionalProperties": false,
  910. "properties": {
  911. "keys_per_scan": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
  912. "tap_keycode_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  913. "tap_capslock_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"},
  914. "locking": {
  915. "type": "object",
  916. "additionalProperties": false,
  917. "properties": {
  918. "enabled": {"type": "boolean"},
  919. "resync": {"type": "boolean"}
  920. }
  921. }
  922. }
  923. },
  924. "qmk_lufa_bootloader": {
  925. "type": "object",
  926. "additionalProperties": false,
  927. "properties": {
  928. "esc_output": {"$ref": "qmk.definitions.v1#/mcu_pin"},
  929. "esc_input": {"$ref": "qmk.definitions.v1#/mcu_pin"},
  930. "led": {"$ref": "qmk.definitions.v1#/mcu_pin"},
  931. "speaker": {"$ref": "qmk.definitions.v1#/mcu_pin"}
  932. }
  933. },
  934. "ws2812": {
  935. "type": "object",
  936. "additionalProperties": false,
  937. "properties": {
  938. "driver": {
  939. "type": "string",
  940. "enum": ["bitbang", "custom", "i2c", "pwm", "spi", "vendor"]
  941. },
  942. "pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
  943. "rgbw": {"type": "boolean"},
  944. "i2c_address": {"$ref": "qmk.definitions.v1#/hex_number_2d"},
  945. "i2c_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}
  946. }
  947. }
  948. }
  949. }