diff options
author | Nick Brassel <[email protected]> | 2024-02-28 21:47:37 +1100 |
---|---|---|
committer | Nick Brassel <[email protected]> | 2024-02-28 21:47:37 +1100 |
commit | 4e369d405af6bba1adce6337b2e1b1ea1788566c (patch) | |
tree | b0f020feff1809e37c9e7795d344929ff0bb290a /lib/python/qmk/cli/generate/keyboard_c.py | |
parent | 4e04da397ef643f8fcf4afbe1d19f63aee1fc561 (diff) | |
parent | dd1706e468bb18dd7f7ae143de735a5d3be1bfb8 (diff) | |
download | qmk_firmware-4e369d405af6bba1adce6337b2e1b1ea1788566c.tar.gz qmk_firmware-4e369d405af6bba1adce6337b2e1b1ea1788566c.zip |
Merge branch 'develop'0.24.0
Diffstat (limited to 'lib/python/qmk/cli/generate/keyboard_c.py')
-rwxr-xr-x | lib/python/qmk/cli/generate/keyboard_c.py | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/lib/python/qmk/cli/generate/keyboard_c.py b/lib/python/qmk/cli/generate/keyboard_c.py index f010341613..5a6c967486 100755 --- a/lib/python/qmk/cli/generate/keyboard_c.py +++ b/lib/python/qmk/cli/generate/keyboard_c.py @@ -9,21 +9,25 @@ from qmk.path import normpath from qmk.constants import GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE -def _gen_led_config(info_data): +def _gen_led_configs(info_data): + lines = [] + + if 'layout' in info_data.get('rgb_matrix', {}): + lines.extend(_gen_led_config(info_data, 'rgb_matrix')) + + if 'layout' in info_data.get('led_matrix', {}): + lines.extend(_gen_led_config(info_data, 'led_matrix')) + + return lines + + +def _gen_led_config(info_data, config_type): """Convert info.json content to g_led_config """ cols = info_data['matrix_size']['cols'] rows = info_data['matrix_size']['rows'] - config_type = None - if 'layout' in info_data.get('rgb_matrix', {}): - config_type = 'rgb_matrix' - elif 'layout' in info_data.get('led_matrix', {}): - config_type = 'led_matrix' - lines = [] - if not config_type: - return lines matrix = [['NO_LED'] * cols for _ in range(rows)] pos = [] @@ -53,6 +57,7 @@ def _gen_led_config(info_data): lines.append(f' {{ {", ".join(flags)} }},') lines.append('};') lines.append('#endif') + lines.append('') return lines @@ -98,7 +103,7 @@ def generate_keyboard_c(cli): # Build the layouts.h file. keyboard_h_lines = [GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE, '#include QMK_KEYBOARD_H', ''] - keyboard_h_lines.extend(_gen_led_config(kb_info_json)) + keyboard_h_lines.extend(_gen_led_configs(kb_info_json)) keyboard_h_lines.extend(_gen_matrix_mask(kb_info_json)) # Show the results |