Browse Source

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

pull/22148/head
Joel Challis 7 months ago
committed by GitHub
parent
commit
80ccbdfd86
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 40 additions and 0 deletions
  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 View File

@ -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 View File

@ -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 View File

@ -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`


Loading…
Cancel
Save