diff options
Diffstat (limited to 'lib/python')
| -rw-r--r-- | lib/python/qmk/info.py | 34 | 
1 files changed, 17 insertions, 17 deletions
| diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py index d51741ecb6..e960bf20ee 100644 --- a/lib/python/qmk/info.py +++ b/lib/python/qmk/info.py @@ -684,26 +684,26 @@ def _extract_led_config(info_data, keyboard):      rows = info_data['matrix_size']['rows']      # Determine what feature owns g_led_config -    features = info_data.get("features", {})      feature = None -    if features.get("rgb_matrix", False): -        feature = "rgb_matrix" -    elif features.get("led_matrix", False): -        feature = "led_matrix" +    for feat in ['rgb_matrix', 'led_matrix']: +        if info_data.get('features', {}).get(feat, False) or feat in info_data: +            feature = feat      if feature: -        # Process -        for file in find_keyboard_c(keyboard): -            try: -                ret = find_led_config(file, cols, rows) -                if ret: -                    info_data[feature] = info_data.get(feature, {}) -                    info_data[feature]["layout"] = ret -            except Exception as e: -                _log_warning(info_data, f'led_config: {file.name}: {e}') - -        if info_data[feature].get("layout", None) and not info_data[feature].get("led_count", None): -            info_data[feature]["led_count"] = len(info_data[feature]["layout"]) +        # Only attempt search if dd led config is missing +        if 'layout' not in info_data.get(feature, {}): +            # Process +            for file in find_keyboard_c(keyboard): +                try: +                    ret = find_led_config(file, cols, rows) +                    if ret: +                        info_data[feature] = info_data.get(feature, {}) +                        info_data[feature]['layout'] = ret +                except Exception as e: +                    _log_warning(info_data, f'led_config: {file.name}: {e}') + +        if info_data[feature].get('layout', None) and not info_data[feature].get('led_count', None): +            info_data[feature]['led_count'] = len(info_data[feature]['layout'])      return info_data | 
