aboutsummaryrefslogtreecommitdiffstats
path: root/layouts/community/ergodox/adnw_p_u_q/visualizer.c
diff options
context:
space:
mode:
Diffstat (limited to 'layouts/community/ergodox/adnw_p_u_q/visualizer.c')
-rw-r--r--layouts/community/ergodox/adnw_p_u_q/visualizer.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/layouts/community/ergodox/adnw_p_u_q/visualizer.c b/layouts/community/ergodox/adnw_p_u_q/visualizer.c
new file mode 100644
index 000000000..9a4d48538
--- /dev/null
+++ b/layouts/community/ergodox/adnw_p_u_q/visualizer.c
@@ -0,0 +1,34 @@
+/*
+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) {
+
+ if (state->status.layer & 0x20) {
+ state->target_lcd_color = LCD_COLOR(127, 0xFF, 0xFF);
+ state->layer_text = "Mouse";
+ } else if (state->status.layer & 0x10) {
+ state->target_lcd_color = LCD_COLOR(85, 0xFF, 0xFF);
+ state->layer_text = "Symbol";
+ } else if (state->status.layer & 0x8) {
+ state->target_lcd_color = LCD_COLOR(64, 0xFF, 0xFF);
+ state->layer_text = "Brackets";
+ } else if (state->status.layer & 0x4) {
+ state->target_lcd_color = LCD_COLOR(42, 0xFF, 0xFF);
+ state->layer_text = "Diak";
+ } else if (state->status.layer & 0x2) {
+ state->target_lcd_color = LCD_COLOR(21, 0xFF, 0xFF);
+ state->layer_text = "Terminal";
+ } else {
+ state->target_lcd_color = LCD_COLOR(192, 0xFF, 0xFF);
+ state->layer_text = "Vim";
+ }
+}
+