diff options
author | Jack Humbert <jack.humb@gmail.com> | 2017-06-16 17:01:54 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-16 17:01:54 -0400 |
commit | ff2b01da49ccf2d57e61bb70cdbaacb40799299c (patch) | |
tree | 7fb732ff64e785c47f247101f68c15e108e8d081 /keyboards/ergodox/keymaps/belak/visualizer.c | |
parent | 6549e169f8622a233d9a9193c7c75190d9a2510b (diff) | |
parent | ef4abfeb3105e03f752d9d1c7b0ad4edecbef75a (diff) |
Merge pull request #1400 from belak/belak-ergodox-theme
ergodox: initial addition of belak theme
Diffstat (limited to 'keyboards/ergodox/keymaps/belak/visualizer.c')
-rw-r--r-- | keyboards/ergodox/keymaps/belak/visualizer.c | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/keyboards/ergodox/keymaps/belak/visualizer.c b/keyboards/ergodox/keymaps/belak/visualizer.c new file mode 100644 index 0000000000..b92890a668 --- /dev/null +++ b/keyboards/ergodox/keymaps/belak/visualizer.c @@ -0,0 +1,49 @@ +/* +Copyright 2017 Fred Sundvik + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +// Currently we are assuming that both the backlight and LCD are enabled +// But it's entirely possible to write a custom visualizer that use only +// one of them +#ifndef LCD_BACKLIGHT_ENABLE +#error This visualizer needs that LCD backlight is enabled +#endif + +#ifndef LCD_ENABLE +#error This visualizer needs that LCD is enabled +#endif + +#include "simple_visualizer.h" + +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 & 0x4) { + state->target_lcd_color = LCD_COLOR(0, saturation, 0xFF); + state->layer_text = "Media"; + } + else if (state->status.layer & 0x2) { + state->target_lcd_color = LCD_COLOR(168, saturation, 0xFF); + state->layer_text = "Symbols"; + } + else { + state->target_lcd_color = LCD_COLOR(84, saturation, 0xFF); + state->layer_text = "Base"; + } +} |