aboutsummaryrefslogtreecommitdiff
path: root/layouts/community/ergodox/belak/visualizer.c
diff options
context:
space:
mode:
authorJack Humbert <jack.humb@gmail.com>2017-08-23 22:29:07 -0400
committerGitHub <noreply@github.com>2017-08-23 22:29:07 -0400
commitd2ff66a985b938e87fffe55c1d9f1dc55e356f91 (patch)
tree561b3e203033849573a17f5ac6248077ab687676 /layouts/community/ergodox/belak/visualizer.c
parent7260fc3eef98fb7b0e2ed24d3d0d14cf2e613000 (diff)
downloadqmk_firmware-d2ff66a985b938e87fffe55c1d9f1dc55e356f91.tar.gz
qmk_firmware-d2ff66a985b938e87fffe55c1d9f1dc55e356f91.zip
Creates a layouts/ folder for keymaps shared between keyboards (#1609)
* include variables and .h files as pp directives * start layout compilation * split ergodoxes up * don't compile all layouts for everything * might seg fault * reset layouts variable * actually reset layouts * include rules.mk instead * remove includes from rules.mk * update variable setting * load visualizer from path * adds some more examples * adds more layouts * more boards added * more boards added * adds documentation for layouts * use lowercase names for LAYOUT_ * add layout.json files for each layout * add community folder, default keymaps for layouts * touch-up default layouts * touch-up layouts, some keyboard rules.mk * update documentation for layouts * fix up serial/i2c switches
Diffstat (limited to 'layouts/community/ergodox/belak/visualizer.c')
-rw-r--r--layouts/community/ergodox/belak/visualizer.c49
1 files changed, 49 insertions, 0 deletions
diff --git a/layouts/community/ergodox/belak/visualizer.c b/layouts/community/ergodox/belak/visualizer.c
new file mode 100644
index 000000000..b92890a66
--- /dev/null
+++ b/layouts/community/ergodox/belak/visualizer.c
@@ -0,0 +1,49 @@
1/*
2Copyright 2017 Fred Sundvik
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18// Currently we are assuming that both the backlight and LCD are enabled
19// But it's entirely possible to write a custom visualizer that use only
20// one of them
21#ifndef LCD_BACKLIGHT_ENABLE
22#error This visualizer needs that LCD backlight is enabled
23#endif
24
25#ifndef LCD_ENABLE
26#error This visualizer needs that LCD is enabled
27#endif
28
29#include "simple_visualizer.h"
30
31static void get_visualizer_layer_and_color(visualizer_state_t* state) {
32 uint8_t saturation = 60;
33 if (state->status.leds & (1u << USB_LED_CAPS_LOCK)) {
34 saturation = 255;
35 }
36
37 if (state->status.layer & 0x4) {
38 state->target_lcd_color = LCD_COLOR(0, saturation, 0xFF);
39 state->layer_text = "Media";
40 }
41 else if (state->status.layer & 0x2) {
42 state->target_lcd_color = LCD_COLOR(168, saturation, 0xFF);
43 state->layer_text = "Symbols";
44 }
45 else {
46 state->target_lcd_color = LCD_COLOR(84, saturation, 0xFF);
47 state->layer_text = "Base";
48 }
49}