~ruther/qmk_firmware

bba5c14933274d47c88140106de13b1ce9391b01 — Joel Challis 1 year, 4 months ago 2296333
Avoid exceptions when layouts contain OOB matrix values (#22609)

1 files changed, 5 insertions(+), 2 deletions(-)

M lib/python/qmk/cli/generate/keyboard_c.py
M lib/python/qmk/cli/generate/keyboard_c.py => lib/python/qmk/cli/generate/keyboard_c.py +5 -2
@@ 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 = []

Do not follow this link