diff options
Diffstat (limited to 'docs/features/rgb_matrix.md')
-rw-r--r-- | docs/features/rgb_matrix.md | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/docs/features/rgb_matrix.md b/docs/features/rgb_matrix.md index 0e53ce9c35..8f50b28c03 100644 --- a/docs/features/rgb_matrix.md +++ b/docs/features/rgb_matrix.md @@ -150,6 +150,7 @@ enum rgb_matrix_effects { RGB_MATRIX_SOLID_SPLASH, // Hue & value pulse away from a single key hit then fades value out RGB_MATRIX_SOLID_MULTISPLASH, // Hue & value pulse away from multiple key hits then fades value out RGB_MATRIX_STARLIGHT, // LEDs turn on and off at random at varying brightness, maintaining user set color + RGB_MATRIX_STARLIGHT_SMOOTH, // LEDs slowly increase and decrease in brightness randomly RGB_MATRIX_STARLIGHT_DUAL_HUE, // LEDs turn on and off at random at varying brightness, modifies user set hue by +- 30 RGB_MATRIX_STARLIGHT_DUAL_SAT, // LEDs turn on and off at random at varying brightness, modifies user set saturation by +- 30 RGB_MATRIX_RIVERFLOW, // Modification to breathing animation, offset's animation depending on key location to simulate a river flowing @@ -193,6 +194,7 @@ You can enable a single effect by defining `ENABLE_[EFFECT_NAME]` in your `confi |`#define ENABLE_RGB_MATRIX_PIXEL_FLOW` |Enables `RGB_MATRIX_PIXEL_FLOW` | |`#define ENABLE_RGB_MATRIX_PIXEL_RAIN` |Enables `RGB_MATRIX_PIXEL_RAIN` | |`#define ENABLE_RGB_MATRIX_STARLIGHT` |Enables `RGB_MATRIX_STARLIGHT` | +|`#define ENABLE_RGB_MATRIX_STARLIGHT_SMOOTH` |Enables `RGB_MATRIX_STARLIGHT_SMOOTH` | |`#define ENABLE_RGB_MATRIX_STARLIGHT_DUAL_HUE` |Enables `RGB_MATRIX_STARLIGHT_DUAL_HUE` | |`#define ENABLE_RGB_MATRIX_STARLIGHT_DUAL_SAT` |Enables `RGB_MATRIX_STARLIGHT_DUAL_SAT` | |`#define ENABLE_RGB_MATRIX_RIVERFLOW` |Enables `RGB_MATRIX_RIVERFLOW` | @@ -363,9 +365,30 @@ These are shorthands to popular colors. The `RGB` ones can be passed to the `set These are defined in [`color.h`](https://github.com/qmk/qmk_firmware/blob/master/quantum/color.h). Feel free to add to this list! +## Naming + +If you wish to be able to use the name of an effect in your code -- say for a display indicator -- then you can enable the function `rgb_matrix_get_mode_name` in the following manner: + +In your keymap's `config.h`: +```c +#define RGB_MATRIX_MODE_NAME_ENABLE +``` + +In your `keymap.c` +```c +const char* effect_name = rgb_matrix_get_mode_name(rgb_matrix_get_mode()); +// do something with `effect_name`, like `oled_write_ln(effect_name, false);` +``` + +::: info +`rgb_matrix_get_mode_name()` is not enabled by default as it increases the amount of flash memory used by the firmware based on the number of effects enabled. +::: + + ## Additional `config.h` Options {#additional-configh-options} ```c +#define RGB_MATRIX_MODE_NAME_ENABLE // enables rgb_matrix_get_mode_name() #define RGB_MATRIX_KEYRELEASES // reactive effects respond to keyreleases (instead of keypresses) #define RGB_MATRIX_TIMEOUT 0 // number of milliseconds to wait until rgb automatically turns off #define RGB_MATRIX_SLEEP // turn off effects when suspended @@ -378,6 +401,10 @@ These are defined in [`color.h`](https://github.com/qmk/qmk_firmware/blob/master #define RGB_MATRIX_DEFAULT_SAT 255 // Sets the default saturation value, if none has been set #define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set #define RGB_MATRIX_DEFAULT_SPD 127 // Sets the default animation speed, if none has been set +#define RGB_MATRIX_HUE_STEP 8 // The value by which to increment the hue per adjustment action +#define RGB_MATRIX_SAT_STEP 16 // The value by which to increment the saturation per adjustment action +#define RGB_MATRIX_VAL_STEP 16 // The value by which to increment the brightness per adjustment action +#define RGB_MATRIX_SPD_STEP 16 // The value by which to increment the animation speed per adjustment action #define RGB_MATRIX_DEFAULT_FLAGS LED_FLAG_ALL // Sets the default LED flags, if none has been set #define RGB_MATRIX_SPLIT { X, Y } // (Optional) For split keyboards, the number of LEDs connected on each half. X = left, Y = Right. // If reactive effects are enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR |