diff options
Diffstat (limited to 'lib/python/qmk')
| -rw-r--r-- | lib/python/qmk/keymap.py | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/lib/python/qmk/keymap.py b/lib/python/qmk/keymap.py index b7138aa4a1..4cf07f59d6 100644 --- a/lib/python/qmk/keymap.py +++ b/lib/python/qmk/keymap.py | |||
| @@ -343,24 +343,21 @@ def locate_keymap(keyboard, keymap, force_layout=None): | |||
| 343 | # Check the keyboard folder first, last match wins | 343 | # Check the keyboard folder first, last match wins |
| 344 | keymap_path = '' | 344 | keymap_path = '' |
| 345 | 345 | ||
| 346 | search_dirs = [QMK_FIRMWARE] | 346 | search_conf = {QMK_FIRMWARE: [keyboard_folder(keyboard)]} |
| 347 | keyboard_dirs = [keyboard_folder(keyboard)] | ||
| 348 | if HAS_QMK_USERSPACE: | 347 | if HAS_QMK_USERSPACE: |
| 349 | # When we've got userspace, check there _last_ as we want them to override anything in the main repo. | 348 | # When we've got userspace, check there _last_ as we want them to override anything in the main repo. |
| 350 | search_dirs.append(QMK_USERSPACE) | ||
| 351 | # We also want to search for any aliases as QMK's folder structure may have changed, with an alias, but the user | 349 | # We also want to search for any aliases as QMK's folder structure may have changed, with an alias, but the user |
| 352 | # hasn't updated their keymap location yet. | 350 | # hasn't updated their keymap location yet. |
| 353 | keyboard_dirs.extend(keyboard_aliases(keyboard)) | 351 | search_conf[QMK_USERSPACE] = list(set([keyboard_folder(keyboard), *keyboard_aliases(keyboard)])) |
| 354 | keyboard_dirs = list(set(keyboard_dirs)) | ||
| 355 | 352 | ||
| 356 | for search_dir in search_dirs: | 353 | for search_dir, keyboard_dirs in search_conf.items(): |
| 357 | for keyboard_dir in keyboard_dirs: | 354 | for keyboard_dir in keyboard_dirs: |
| 358 | checked_dirs = '' | 355 | checked_dirs = '' |
| 359 | for dir in keyboard_dir.split('/'): | 356 | for folder_name in keyboard_dir.split('/'): |
| 360 | if checked_dirs: | 357 | if checked_dirs: |
| 361 | checked_dirs = '/'.join((checked_dirs, dir)) | 358 | checked_dirs = '/'.join((checked_dirs, folder_name)) |
| 362 | else: | 359 | else: |
| 363 | checked_dirs = dir | 360 | checked_dirs = folder_name |
| 364 | 361 | ||
| 365 | keymap_dir = Path(search_dir) / Path('keyboards') / checked_dirs / 'keymaps' | 362 | keymap_dir = Path(search_dir) / Path('keyboards') / checked_dirs / 'keymaps' |
| 366 | 363 | ||
