diff options
author | 2017-06-01 11:18:56 -0400 | |
---|---|---|
committer | 2017-06-01 11:18:56 -0400 | |
commit | cf77c42c72d0a5b91050ec33c34e34a8f3406533 (patch) | |
tree | 665eba4c08ef7e9c7c11f67bfd99b7d990da405e /keyboards/ergodox/keymaps/333fred/visualizer.c | |
parent | cc52856bacb7c75ab86873ba997d354f24047df4 (diff) | |
parent | dded79a412f6e93af2df7b96c2624980400680f4 (diff) | |
download | qmk_firmware-cf77c42c72d0a5b91050ec33c34e34a8f3406533.tar.gz |
Merge pull request #1353 from 333fred/333fred-layout
ergodox/333fred layout
Diffstat (limited to 'keyboards/ergodox/keymaps/333fred/visualizer.c')
-rw-r--r-- | keyboards/ergodox/keymaps/333fred/visualizer.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/keyboards/ergodox/keymaps/333fred/visualizer.c b/keyboards/ergodox/keymaps/333fred/visualizer.c new file mode 100644 index 000000000..2a30562ae --- /dev/null +++ b/keyboards/ergodox/keymaps/333fred/visualizer.c @@ -0,0 +1,33 @@ +/* +Note: this is a modified copy of ../default/visualizer.c, originally licensed GPL. +*/ + +#include "simple_visualizer.h" + +// This function should be implemented by the keymap visualizer +// Don't change anything else than state->target_lcd_color and state->layer_text as that's the only thing +// that the simple_visualizer assumes that you are updating +// Also make sure that the buffer passed to state->layer_text remains valid until the previous animation is +// stopped. This can be done by either double buffering it or by using constant strings +static void get_visualizer_layer_and_color(visualizer_state_t* state) { + uint8_t saturation = 60; + if (state->status.leds & (1u << USB_LED_CAPS_LOCK)) { + saturation = 255; + } + if (state->status.layer & 0x10) { + state->target_lcd_color = LCD_COLOR(140, 100, 60); + state->layer_text = "Movement"; + } else if (state->status.layer & 0x8) { + state->target_lcd_color = LCD_COLOR(0, saturation, 0xFF); + state->layer_text = "Media"; + } else if (state->status.layer & 0x4) { + state->target_lcd_color = LCD_COLOR(168, saturation, 0xFF); + state->layer_text = "Symbol"; + } else if (state->status.layer & 0x2) { + state->target_lcd_color = LCD_COLOR(216, 90, 0xFF); + state->layer_text = "Code"; + } else { + state->target_lcd_color = LCD_COLOR(84, saturation, 0xFF); + state->layer_text = "Default"; + } +} |