diff --git a/lib/python/qmk/cli/generate/keyboard_c.py b/lib/python/qmk/cli/generate/keyboard_c.py index f8a2372cf3..f010341613 100755 --- a/lib/python/qmk/cli/generate/keyboard_c.py +++ b/lib/python/qmk/cli/generate/keyboard_c.py @@ -64,12 +64,15 @@ def _gen_matrix_mask(info_data): rows = info_data['matrix_size']['rows'] # Default mask to everything disabled - mask = [['0'] * cols for i in range(rows)] + mask = [['0'] * cols for _ in range(rows)] # Mirror layout macros squashed on top of each other - for layout_data in info_data['layouts'].values(): + for layout_name, layout_data in info_data['layouts'].items(): for key_data in layout_data['layout']: row, col = key_data['matrix'] + if row >= rows or col >= cols: + cli.log.error(f'Skipping matrix_mask due to {layout_name} containing invalid matrix values') + return [] mask[row][col] = '1' lines = []