diff options
author | Joel Challis <git@zvecr.com> | 2023-12-05 13:32:07 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-05 13:32:07 +0000 |
commit | bba5c14933274d47c88140106de13b1ce9391b01 (patch) | |
tree | de89705c7292b951c46f6ba473b34daf7b14165d /lib | |
parent | 229633395b8b76732ee8c1502059d8cdf406ea92 (diff) |
Avoid exceptions when layouts contain OOB matrix values (#22609)
Diffstat (limited to 'lib')
-rwxr-xr-x | lib/python/qmk/cli/generate/keyboard_c.py | 7 |
1 files changed, 5 insertions, 2 deletions
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 = [] |