Ensure LED config is extracted when feature is disabled (#22809)

* Ensure LED config is extracted when feature is disabled

* Only attempt LED search if dd led config is missing
This commit is contained in:
Joel Challis 2024-01-04 05:47:52 +00:00 committed by GitHub
parent f583d2fef0
commit 5267329caa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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}')
# 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"])
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