1
0
Fork 0

Move layout macro OOB checks to lint (#22610)

This commit is contained in:
Joel Challis 2024-01-22 11:35:51 +00:00 committed by GitHub
parent 1522695cef
commit 58721a433b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 28 additions and 12 deletions

View file

@ -33,18 +33,11 @@ def _generate_layouts(keyboard, kb_info_json):
layout_keys = []
layout_matrix = [['KC_NO'] * col_num for _ in range(row_num)]
for index, key_data in enumerate(layout_data['layout']):
for key_data in layout_data['layout']:
row, col = key_data['matrix']
identifier = f'k{ROW_LETTERS[row]}{COL_LETTERS[col]}'
if row >= row_num or col >= col_num:
key_name = key_data.get('label', identifier)
if row >= row_num:
cli.log.error(f'{keyboard}/{layout_name}: Matrix row for key {index} ({key_name}) is {row} but must be less than {row_num}')
if col >= col_num:
cli.log.error(f'{keyboard}/{layout_name}: Matrix column for key {index} ({key_name}) is {col} but must be less than {col_num}')
cli.log.error(f'Skipping layouts due to {layout_name} containing invalid matrix values')
return []
layout_matrix[row][col] = identifier