Merge remote-tracking branch 'upstream/develop' into xap

This commit is contained in:
Nick Brassel
2025-02-28 09:18:17 +11:00
40 changed files with 1135 additions and 95 deletions
+27
View File
@@ -1065,3 +1065,30 @@ def keymap_json(keyboard, keymap, force_layout=None):
_extract_config_h(kb_info_json, parse_config_h_file(keymap_config))
return kb_info_json
def get_modules(keyboard, keymap_filename):
"""Get the modules for a keyboard/keymap.
"""
modules = []
if keymap_filename:
keymap_json = parse_configurator_json(keymap_filename)
if keymap_json:
kb = keymap_json.get('keyboard', None)
if not kb:
kb = keyboard
if kb:
kb_info_json = info_json(kb)
if kb_info_json:
modules.extend(kb_info_json.get('modules', []))
modules.extend(keymap_json.get('modules', []))
elif keyboard:
kb_info_json = info_json(keyboard)
modules.extend(kb_info_json.get('modules', []))
return list(dict.fromkeys(modules)) # remove dupes