From 0b5aca94e1a0ed9aa00126514404a50ec3e0bda2 Mon Sep 17 00:00:00 2001 From: zvecr Date: Mon, 4 Dec 2023 19:31:41 +0000 Subject: [PATCH] Avoid exceptions when layouts contain OOB matrix values --- lib/python/qmk/cli/generate/keyboard_c.py | 7 +++++-- 1 file 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 f8a2372cf3fa..f01034161375 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 = []