Browse Source

Merge remote-tracking branch 'origin/develop' into xap

QMK Bot 2 years ago
parent
commit
c2324ff646
3 changed files with 9 additions and 0 deletions
  1. 2 0
      data/mappings/info_config.hjson
  2. 4 0
      lib/python/qmk/cli/info.py
  3. 3 0
      lib/python/qmk/info.py

+ 2 - 0
data/mappings/info_config.hjson

@@ -69,6 +69,7 @@
     "LED_MATRIX_SPLIT": {"info_key": "led_matrix.split_count", "value_type": "array.int"},
     "LED_MATRIX_TIMEOUT": {"info_key": "led_matrix.timeout", "value_type": "int"},
     "LED_MATRIX_VAL_STEP": {"info_key": "led_matrix.val_steps", "value_type": "int"},
+    "LED_MATRIX_LED_COUNT": {"info_key": "led_matrix.led_count", "value_type": "int", "to_json": false},
 
     // LUFA Bootloader
     "QMK_ESC_INPUT": {"info_key": "qmk_lufa_bootloader.esc_input"},
@@ -107,6 +108,7 @@
     "RGB_MATRIX_SPLIT": {"info_key": "rgb_matrix.split_count", "value_type": "array.int"},
     "RGB_MATRIX_TIMEOUT": {"info_key": "rgb_matrix.timeout", "value_type": "int"},
     "RGB_MATRIX_VAL_STEP": {"info_key": "rgb_matrix.val_steps", "value_type": "int"},
+    "RGB_MATRIX_LED_COUNT": {"info_key": "rgb_matrix.led_count", "value_type": "int", "to_json": false},
 
     // RGBLight
     "RGBLED_NUM": {"info_key": "rgblight.led_count", "value_type": "int"},

+ 4 - 0
lib/python/qmk/cli/info.py

@@ -38,6 +38,10 @@ def _strip_api_content(info_json):
     if 'matrix_pins' in info_json:
         info_json.pop('matrix_size', None)
 
+    for feature in ['rgb_matrix', 'led_matrix']:
+        if info_json.get(feature, {}).get("layout", None):
+            info_json[feature].pop('led_count', None)
+
     return info_json
 
 

+ 3 - 0
lib/python/qmk/info.py

@@ -706,6 +706,9 @@ def _extract_led_config(info_data, keyboard):
             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