浏览代码

More data driven RGB/LED Matrix config (#21939)

Joel Challis 2 年之前
父节点
当前提交
80ccbdfd86
共有 3 个文件被更改,包括 40 次插入0 次删除
  1. 8 0
      data/mappings/info_config.hjson
  2. 8 0
      data/schemas/keyboard.jsonschema
  3. 24 0
      docs/reference_info_json.md

+ 8 - 0
data/mappings/info_config.hjson

@@ -67,7 +67,11 @@
     "LEADER_TIMEOUT": {"info_key": "leader_key.timeout", "value_type": "int"},
 
     // LED Matrix
+    "LED_DISABLE_WHEN_USB_SUSPENDED": {"info_key": "led_matrix.sleep", "value_type": "bool"},
     "LED_MATRIX_CENTER": {"info_key": "led_matrix.center_point", "value_type": "array.int"},
+    "LED_MATRIX_KEYRELEASES": {"info_key": "led_matrix.react_on_keyup", "value_type": "bool"},
+    "LED_MATRIX_LED_FLUSH_LIMIT": {"info_key": "led_matrix.led_flush_limit", "value_type": "int"},
+    "LED_MATRIX_LED_PROCESS_LIMIT": {"info_key": "led_matrix.led_process_limit", "value_type": "int", "to_json": false},
     "LED_MATRIX_MAXIMUM_BRIGHTNESS": {"info_key": "led_matrix.max_brightness", "value_type": "int"},
     "LED_MATRIX_SPD_STEP": {"info_key": "led_matrix.speed_steps", "value_type": "int"},
     "LED_MATRIX_SPLIT": {"info_key": "led_matrix.split_count", "value_type": "array.int"},
@@ -104,8 +108,12 @@
     "PS2_DATA_PIN": {"info_key": "ps2.data_pin"},
 
     // RGB Matrix
+    "RGB_DISABLE_WHEN_USB_SUSPENDED": {"info_key": "rgb_matrix.sleep", "value_type": "bool"},
     "RGB_MATRIX_CENTER": {"info_key": "rgb_matrix.center_point", "value_type": "array.int"},
     "RGB_MATRIX_HUE_STEP": {"info_key": "rgb_matrix.hue_steps", "value_type": "int"},
+    "RGB_MATRIX_KEYRELEASES": {"info_key": "rgb_matrix.react_on_keyup", "value_type": "bool"},
+    "RGB_MATRIX_LED_FLUSH_LIMIT": {"info_key": "rgb_matrix.led_flush_limit", "value_type": "int"},
+    "RGB_MATRIX_LED_PROCESS_LIMIT": {"info_key": "rgb_matrix.led_process_limit", "value_type": "int", "to_json": false},
     "RGB_MATRIX_MAXIMUM_BRIGHTNESS": {"info_key": "rgb_matrix.max_brightness", "value_type": "int"},
     "RGB_MATRIX_SAT_STEP": {"info_key": "rgb_matrix.sat_steps", "value_type": "int"},
     "RGB_MATRIX_SPD_STEP": {"info_key": "rgb_matrix.speed_steps", "value_type": "int"},

+ 8 - 0
data/schemas/keyboard.jsonschema

@@ -402,6 +402,10 @@
                 "timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"},
                 "val_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
                 "speed_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
+                "led_flush_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"},
+                "led_process_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"},
+                "react_on_keyup": {"$ref": "qmk.definitions.v1#/unsigned_int"},
+                "sleep": {"type": "boolean"},
                 "split_count": {
                     "type": "array",
                     "minItems": 2,
@@ -454,6 +458,10 @@
                 "sat_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
                 "val_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
                 "speed_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
+                "led_flush_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"},
+                "led_process_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"},
+                "react_on_keyup": {"$ref": "qmk.definitions.v1#/unsigned_int"},
+                "sleep": {"type": "boolean"},
                 "split_count": {
                     "type": "array",
                     "minItems": 2,

+ 24 - 0
docs/reference_info_json.md

@@ -342,9 +342,21 @@ Configures the [LED Matrix](feature_led_matrix.md) feature.
                 * The key matrix position associated with the LED.
                 * Example: `[0, 2]`
             * Example: `{"matrix": [2, 1], "x": 20, "y": 48, "flags": 2}`
+    * `led_flush_limit`
+        * Limits in milliseconds how frequently an animation will update the LEDs.
+        * Default: `16`
+    * `led_process_limit`
+        * Limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness).
+        * Default: `led_count / 5`
     * `max_brightness`
         * The maximum value which brightness is scaled to, from 0 to 255.
         * Default: `255`
+    * `react_on_keyup`
+        * Animations react to keyup instead of keydown.
+        * Default: `false`
+    * `sleep`
+        * Turn off the LEDs when the host goes to sleep.
+        * Default: `false`
     * `speed_steps`
         * The number of speed adjustment steps.
         * Default: `16`
@@ -546,12 +558,24 @@ Configures the [RGB Matrix](feature_rgb_matrix.md) feature.
                 * The key matrix position associated with the LED.
                 * Example: `[0, 2]`
             * Example: `{"matrix": [2, 1], "x": 20, "y": 48, "flags": 2}`
+    * `led_flush_limit`
+        * Limits in milliseconds how frequently an animation will update the LEDs.
+        * Default: `16`
+    * `led_process_limit`
+        * Limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness).
+        * Default: `led_count / 5`
     * `max_brightness`
         * The maximum value which the HSV "V" component is scaled to, from 0 to 255.
         * Default: `255`
+    * `react_on_keyup`
+        * Animations react to keyup instead of keydown.
+        * Default: `false`
     * `sat_steps`
         * The number of saturation adjustment steps.
         * Default: `16`
+    * `sleep`
+        * Turn off the LEDs when the host goes to sleep.
+        * Default: `false`
     * `speed_steps`
         * The number of speed adjustment steps.
         * Default: `16`