Skip to content

Commit

Permalink
Document and define different RGB effects
Browse files Browse the repository at this point in the history
  • Loading branch information
ReFil committed Oct 19, 2023
1 parent 9e9b5f5 commit 33ae3b4
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 2 deletions.
7 changes: 6 additions & 1 deletion app/include/dt-bindings/zmk/rgb.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,4 +38,9 @@
#define RGB_MEFS RGB_MEFS_CMD
#define RGB_COLOR_HSB_VAL(h, s, v) (((h) << 16) + ((s) << 8) + (v))
#define RGB_COLOR_HSB(h, s, v) RGB_COLOR_HSB_CMD##(RGB_COLOR_HSB_VAL(h, s, v))
#define RGB_COLOR_HSV RGB_COLOR_HSB
#define RGB_COLOR_HSV RGB_COLOR_HSB

#define RGB_EFF_SOLID 0
#define RGB_EFF_BREATHE 1
#define RGB_EFF_SPECTRUM 2
#define RGB_EFF_SWIRL 3
9 changes: 8 additions & 1 deletion docs/docs/behaviors/underglow.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,14 @@ However the settings will only be saved after [`CONFIG_ZMK_SETTINGS_SAVE_DEBOUNC

:::note Effect Selection

When using the `RGB_EFS` or `RGB_MEFS` definitions you must also include a number as an argument in the keymap corresponding to the effect you want to select e.g. `RGB_EFS 0`
When using the `RGB_EFS` or `RGB_MEFS` definitions you must also include a number as an argument in the keymap corresponding to the effect you want to select e.g. `RGB_EFS 0`. There are 4 RGB effects currently, defined in [`dt-bindings/zmk/rgb.h`](https://github.com/zmkfirmware/zmk/blob/main/app/include/dt-bindings/zmk/rgb.h). They correspond to the options for [`CONFIG_ZMK_RGB_UNDERGLOW_EFF_START`](../config/underglow.md#kconfig).

| Value | Effect |
| ---------------- | ------------------------------------------ |
| RGB_EFF_SOLID | Solid color (Set by HSV) |
| RGB_EFF_BREATHE | Breathe a solid colour |
| RGB_EFF_SPECTRUM | Cycle all LEDs through the colour spectrum |
| RGB_EFF_SWIRL | Swirl a rainbow around the LEDs |

If the `RGB_MEFS` key is held down for longer than [`CONFIG_ZMK_SETTINGS_SAVE_DEBOUNCE`](../config/system.md#general) milliseconds and the board is reset prior to releasing the key the temporary effect will have been saved to flash memory and will be restored after resetting/power cycling

Expand Down

0 comments on commit 33ae3b4

Please sign in to comment.