diff options
| author | Ryan <fauxpark@gmail.com> | 2024-12-16 06:06:05 +1100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-12-15 19:06:05 +0000 |
| commit | 0f3993b9a3cd3a50b2c9e5d920d6bdb40a9d78be (patch) | |
| tree | 6e76fd2ea8938f74d2e1e60ed45b8f88531383dc /lib/python/qmk/cli | |
| parent | 8e6bfbfdc27b6ecb38f884b011ebca3ef95e33fc (diff) | |
default_keyboard.h generation tweaks (#24715)
Diffstat (limited to 'lib/python/qmk/cli')
| -rwxr-xr-x | lib/python/qmk/cli/generate/keyboard_h.py | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/lib/python/qmk/cli/generate/keyboard_h.py b/lib/python/qmk/cli/generate/keyboard_h.py index 5863a0983a..cb9528d96b 100755 --- a/lib/python/qmk/cli/generate/keyboard_h.py +++ b/lib/python/qmk/cli/generate/keyboard_h.py | |||
| @@ -22,6 +22,11 @@ def _generate_layouts(keyboard, kb_info_json): | |||
| 22 | row_num = kb_info_json['matrix_size']['rows'] | 22 | row_num = kb_info_json['matrix_size']['rows'] |
| 23 | 23 | ||
| 24 | lines = [] | 24 | lines = [] |
| 25 | lines.append('') | ||
| 26 | lines.append('// Layout content') | ||
| 27 | lines.append('') | ||
| 28 | lines.append('#define XXX KC_NO') | ||
| 29 | |||
| 25 | for layout_name, layout_data in kb_info_json['layouts'].items(): | 30 | for layout_name, layout_data in kb_info_json['layouts'].items(): |
| 26 | if layout_data['c_macro']: | 31 | if layout_data['c_macro']: |
| 27 | continue | 32 | continue |
| @@ -31,7 +36,7 @@ def _generate_layouts(keyboard, kb_info_json): | |||
| 31 | continue | 36 | continue |
| 32 | 37 | ||
| 33 | layout_keys = [] | 38 | layout_keys = [] |
| 34 | layout_matrix = [['KC_NO'] * col_num for _ in range(row_num)] | 39 | layout_matrix = [['XXX'] * col_num for _ in range(row_num)] |
| 35 | 40 | ||
| 36 | for key_data in layout_data['layout']: | 41 | for key_data in layout_data['layout']: |
| 37 | row, col = key_data['matrix'] | 42 | row, col = key_data['matrix'] |
| @@ -46,7 +51,7 @@ def _generate_layouts(keyboard, kb_info_json): | |||
| 46 | lines.append('') | 51 | lines.append('') |
| 47 | lines.append(f'#define {layout_name}({", ".join(layout_keys)}) {{ \\') | 52 | lines.append(f'#define {layout_name}({", ".join(layout_keys)}) {{ \\') |
| 48 | 53 | ||
| 49 | rows = ', \\\n'.join(['\t {' + ', '.join(row) + '}' for row in layout_matrix]) | 54 | rows = ', \\\n'.join([' { ' + ', '.join(row) + ' }' for row in layout_matrix]) |
| 50 | rows += ' \\' | 55 | rows += ' \\' |
| 51 | lines.append(rows) | 56 | lines.append(rows) |
| 52 | lines.append('}') | 57 | lines.append('}') |
| @@ -67,6 +72,9 @@ def _generate_keycodes(kb_info_json): | |||
| 67 | return [] | 72 | return [] |
| 68 | 73 | ||
| 69 | lines = [] | 74 | lines = [] |
| 75 | lines.append('') | ||
| 76 | lines.append('// Keycode content') | ||
| 77 | lines.append('') | ||
| 70 | lines.append('enum keyboard_keycodes {') | 78 | lines.append('enum keyboard_keycodes {') |
| 71 | 79 | ||
| 72 | for index, item in enumerate(kb_info_json.get('keycodes')): | 80 | for index, item in enumerate(kb_info_json.get('keycodes')): |
| @@ -103,17 +111,14 @@ def generate_keyboard_h(cli): | |||
| 103 | valid_config = dd_layouts or keyboard_h | 111 | valid_config = dd_layouts or keyboard_h |
| 104 | 112 | ||
| 105 | # Build the layouts.h file. | 113 | # Build the layouts.h file. |
| 106 | keyboard_h_lines = [GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE, '#pragma once', '#include "quantum.h"'] | 114 | keyboard_h_lines = [GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE, '#pragma once', '', '#include "quantum.h"'] |
| 107 | 115 | ||
| 108 | keyboard_h_lines.append('') | ||
| 109 | keyboard_h_lines.append('// Layout content') | ||
| 110 | if dd_layouts: | 116 | if dd_layouts: |
| 111 | keyboard_h_lines.extend(dd_layouts) | 117 | keyboard_h_lines.extend(dd_layouts) |
| 118 | |||
| 112 | if keyboard_h: | 119 | if keyboard_h: |
| 113 | keyboard_h_lines.append(f'#include "{Path(keyboard_h).name}"') | 120 | keyboard_h_lines.append(f'#include "{Path(keyboard_h).name}"') |
| 114 | 121 | ||
| 115 | keyboard_h_lines.append('') | ||
| 116 | keyboard_h_lines.append('// Keycode content') | ||
| 117 | if dd_keycodes: | 122 | if dd_keycodes: |
| 118 | keyboard_h_lines.extend(dd_keycodes) | 123 | keyboard_h_lines.extend(dd_keycodes) |
| 119 | 124 | ||
