Resolve recursive keyboard aliases when locating userspace keymaps (#26402)

This commit is contained in:
Joel Challis
2026-08-20 00:35:07 +01:00
committed by GitHub
parent a625d49dcb
commit 65315a8315
+12 -6
View File
@@ -140,15 +140,21 @@ def keyboard_aliases(keyboard):
Includes the keyboard itself.
"""
aliases = json_load(Path('data/mappings/keyboard_aliases.hjson'))
aliases = keyboard_alias_definitions()
if keyboard in aliases:
keyboard = aliases[keyboard].get('target', keyboard)
def _resolve_recursive_aliases(kb):
ret = set()
for found in filter(lambda k: aliases[k].get('target', '') == kb, aliases.keys()):
ret.update(_resolve_recursive_aliases(found))
ret.add(found)
return ret
keyboards = set(filter(lambda k: aliases[k].get('target', '') == keyboard, aliases.keys()))
keyboard = keyboard_folder(keyboard)
keyboards = _resolve_recursive_aliases(keyboard)
keyboards.add(keyboard)
keyboards = list(sorted(keyboards))
return keyboards
return list(sorted(keyboards))
def keyboard_folder_or_all(keyboard):