Community modules (#24848)
This commit is contained in:
parent
63b095212b
commit
1efc82403b
37 changed files with 987 additions and 84 deletions
|
@ -1059,3 +1059,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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue