diff options
Diffstat (limited to 'lib/python')
| -rwxr-xr-x | lib/python/qmk/cli/generate/config_h.py | 15 | ||||
| -rw-r--r-- | lib/python/qmk/info.py | 20 | 
2 files changed, 20 insertions, 15 deletions
| diff --git a/lib/python/qmk/cli/generate/config_h.py b/lib/python/qmk/cli/generate/config_h.py index d613f7b92c..d6d0299291 100755 --- a/lib/python/qmk/cli/generate/config_h.py +++ b/lib/python/qmk/cli/generate/config_h.py @@ -72,19 +72,6 @@ def generate_matrix_size(kb_info_json, config_h_lines):          config_h_lines.append(generate_define('MATRIX_ROWS', kb_info_json['matrix_size']['rows'])) -def generate_matrix_masked(kb_info_json, config_h_lines): -    """"Enable matrix mask if required""" -    mask_required = False - -    if 'matrix_grid' in kb_info_json.get('dip_switch', {}): -        mask_required = True -    if 'matrix_grid' in kb_info_json.get('split', {}).get('handedness', {}): -        mask_required = True - -    if mask_required: -        config_h_lines.append(generate_define('MATRIX_MASKED')) - -  def generate_config_items(kb_info_json, config_h_lines):      """Iterate through the info_config map to generate basic config values.      """ @@ -202,8 +189,6 @@ def generate_config_h(cli):      generate_matrix_size(kb_info_json, config_h_lines) -    generate_matrix_masked(kb_info_json, config_h_lines) -      if 'matrix_pins' in kb_info_json:          config_h_lines.append(matrix_pins(kb_info_json['matrix_pins'])) diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py index db8a02d132..b4fa481b1b 100644 --- a/lib/python/qmk/info.py +++ b/lib/python/qmk/info.py @@ -254,6 +254,7 @@ def info_json(keyboard, force_layout=None):      # Ensure that we have various calculated values      info_data = _matrix_size(info_data)      info_data = _joystick_axis_count(info_data) +    info_data = _matrix_masked(info_data)      # Merge in data from <keyboard.c>      info_data = _extract_led_config(info_data, str(keyboard)) @@ -830,6 +831,25 @@ def _joystick_axis_count(info_data):      return info_data +def _matrix_masked(info_data): +    """"Add info_data['matrix_pins.masked'] if required""" +    mask_required = False + +    if 'matrix_grid' in info_data.get('dip_switch', {}): +        mask_required = True +    if 'matrix_grid' in info_data.get('split', {}).get('handedness', {}): +        mask_required = True + +    if mask_required: +        if 'masked' not in info_data.get('matrix_pins', {}): +            if 'matrix_pins' not in info_data: +                info_data['matrix_pins'] = {} + +            info_data['matrix_pins']['masked'] = True + +    return info_data + +  def _check_matrix(info_data):      """Check the matrix to ensure that row/column count is consistent.      """ | 
