mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-02-24 07:40:50 +00:00
default_keyboard.h generation tweaks (#24715)
This commit is contained in:
parent
8e6bfbfdc2
commit
0f3993b9a3
@ -22,6 +22,11 @@ def _generate_layouts(keyboard, kb_info_json):
|
|||||||
row_num = kb_info_json['matrix_size']['rows']
|
row_num = kb_info_json['matrix_size']['rows']
|
||||||
|
|
||||||
lines = []
|
lines = []
|
||||||
|
lines.append('')
|
||||||
|
lines.append('// Layout content')
|
||||||
|
lines.append('')
|
||||||
|
lines.append('#define XXX KC_NO')
|
||||||
|
|
||||||
for layout_name, layout_data in kb_info_json['layouts'].items():
|
for layout_name, layout_data in kb_info_json['layouts'].items():
|
||||||
if layout_data['c_macro']:
|
if layout_data['c_macro']:
|
||||||
continue
|
continue
|
||||||
@ -31,7 +36,7 @@ def _generate_layouts(keyboard, kb_info_json):
|
|||||||
continue
|
continue
|
||||||
|
|
||||||
layout_keys = []
|
layout_keys = []
|
||||||
layout_matrix = [['KC_NO'] * col_num for _ in range(row_num)]
|
layout_matrix = [['XXX'] * col_num for _ in range(row_num)]
|
||||||
|
|
||||||
for key_data in layout_data['layout']:
|
for key_data in layout_data['layout']:
|
||||||
row, col = key_data['matrix']
|
row, col = key_data['matrix']
|
||||||
@ -46,7 +51,7 @@ def _generate_layouts(keyboard, kb_info_json):
|
|||||||
lines.append('')
|
lines.append('')
|
||||||
lines.append(f'#define {layout_name}({", ".join(layout_keys)}) {{ \\')
|
lines.append(f'#define {layout_name}({", ".join(layout_keys)}) {{ \\')
|
||||||
|
|
||||||
rows = ', \\\n'.join(['\t {' + ', '.join(row) + '}' for row in layout_matrix])
|
rows = ', \\\n'.join([' { ' + ', '.join(row) + ' }' for row in layout_matrix])
|
||||||
rows += ' \\'
|
rows += ' \\'
|
||||||
lines.append(rows)
|
lines.append(rows)
|
||||||
lines.append('}')
|
lines.append('}')
|
||||||
@ -67,6 +72,9 @@ def _generate_keycodes(kb_info_json):
|
|||||||
return []
|
return []
|
||||||
|
|
||||||
lines = []
|
lines = []
|
||||||
|
lines.append('')
|
||||||
|
lines.append('// Keycode content')
|
||||||
|
lines.append('')
|
||||||
lines.append('enum keyboard_keycodes {')
|
lines.append('enum keyboard_keycodes {')
|
||||||
|
|
||||||
for index, item in enumerate(kb_info_json.get('keycodes')):
|
for index, item in enumerate(kb_info_json.get('keycodes')):
|
||||||
@ -103,17 +111,14 @@ def generate_keyboard_h(cli):
|
|||||||
valid_config = dd_layouts or keyboard_h
|
valid_config = dd_layouts or keyboard_h
|
||||||
|
|
||||||
# Build the layouts.h file.
|
# Build the layouts.h file.
|
||||||
keyboard_h_lines = [GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE, '#pragma once', '#include "quantum.h"']
|
keyboard_h_lines = [GPL2_HEADER_C_LIKE, GENERATED_HEADER_C_LIKE, '#pragma once', '', '#include "quantum.h"']
|
||||||
|
|
||||||
keyboard_h_lines.append('')
|
|
||||||
keyboard_h_lines.append('// Layout content')
|
|
||||||
if dd_layouts:
|
if dd_layouts:
|
||||||
keyboard_h_lines.extend(dd_layouts)
|
keyboard_h_lines.extend(dd_layouts)
|
||||||
|
|
||||||
if keyboard_h:
|
if keyboard_h:
|
||||||
keyboard_h_lines.append(f'#include "{Path(keyboard_h).name}"')
|
keyboard_h_lines.append(f'#include "{Path(keyboard_h).name}"')
|
||||||
|
|
||||||
keyboard_h_lines.append('')
|
|
||||||
keyboard_h_lines.append('// Keycode content')
|
|
||||||
if dd_keycodes:
|
if dd_keycodes:
|
||||||
keyboard_h_lines.extend(dd_keycodes)
|
keyboard_h_lines.extend(dd_keycodes)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user