diff options
author | Kaleb Elwert <belak@coded.io> | 2017-06-16 10:57:53 -0700 |
---|---|---|
committer | Kaleb Elwert <belak@coded.io> | 2017-06-16 10:57:58 -0700 |
commit | ef4abfeb3105e03f752d9d1c7b0ad4edecbef75a (patch) | |
tree | b5961980809baca932728529de9faa10dd9c8e13 /keyboards/ergodox/keymaps/belak/visualizer.c | |
parent | d9ffd77ee78ee64dd8689bbfb54b5dcd150d7a10 (diff) |
ergodox: initial addition of belak theme
Imported from external repo https://github.com/belak/ergodox-layout at commit
233008ad8c46a85cb118fca0be093c3e751075b0
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"; + } +} |