* 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>
_log_warning(info_data,'Split main hand is specified in both config.h (SPLIT_HAND_PIN) and info.json (split.main) (Value: %s), the config.h value wins.'%info_data['split']['main'])
info_data['split']['main']='pin'
ifconfig_c.get('SPLIT_HAND_MATRIX_GRID'):
if'split'notininfo_data:
info_data['split']={}
if'main'ininfo_data['split']:
_log_warning(info_data,'Split main hand is specified in both config.h (SPLIT_HAND_MATRIX_GRID) and info.json (split.main) (Value: %s), the config.h value wins.'%info_data['split']['main'])
_log_warning(info_data,'Split main hand is specified in both config.h (EE_HANDS) and info.json (split.main) (Value: %s), the config.h value wins.'%info_data['split']['main'])
info_data['split']['main']='eeprom'
ifconfig_c.get('MASTER_RIGHT')isTrue:
if'split'notininfo_data:
info_data['split']={}
if'main'ininfo_data['split']:
_log_warning(info_data,'Split main hand is specified in both config.h (MASTER_RIGHT) and info.json (split.main) (Value: %s), the config.h value wins.'%info_data['split']['main'])
info_data['split']['main']='right'
ifconfig_c.get('MASTER_LEFT')isTrue:
if'split'notininfo_data:
info_data['split']={}
if'main'ininfo_data['split']:
_log_warning(info_data,'Split main hand is specified in both config.h (MASTER_LEFT) and info.json (split.main) (Value: %s), the config.h value wins.'%info_data['split']['main'])
info_data['split']['main']='left'
def_extract_split_transport(info_data,config_c):
# Figure out the transport method
ifconfig_c.get('USE_I2C')isTrue:
if'split'notininfo_data:
info_data['split']={}
if'transport'notininfo_data['split']:
info_data['split']['transport']={}
if'protocol'ininfo_data['split']['transport']:
_log_warning(info_data,'Split transport is specified in both config.h (USE_I2C) and info.json (split.transport.protocol) (Value: %s), the config.h value wins.'%info_data['split']['transport'])