summaryrefslogtreecommitdiff
path: root/keyboards/crkbd/lib/layer_state_reader.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/crkbd/lib/layer_state_reader.c')
-rw-r--r--keyboards/crkbd/lib/layer_state_reader.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/keyboards/crkbd/lib/layer_state_reader.c b/keyboards/crkbd/lib/layer_state_reader.c
new file mode 100644
index 0000000000..eddb71337e
--- /dev/null
+++ b/keyboards/crkbd/lib/layer_state_reader.c
@@ -0,0 +1,35 @@
+
+#include QMK_KEYBOARD_H
+#include <stdio.h>
+#include "crkbd.h"
+
+#define L_BASE 0
+#define L_LOWER 8
+#define L_RAISE 16
+#define L_ADJUST 65536
+#define L_ADJUST_TRI 65560
+
+char layer_state_str[24];
+
+const char *read_layer_state(void) {
+ switch (layer_state)
+ {
+ case L_BASE:
+ snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Default");
+ break;
+ case L_RAISE:
+ snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Raise");
+ break;
+ case L_LOWER:
+ snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Lower");
+ break;
+ case L_ADJUST:
+ case L_ADJUST_TRI:
+ snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Adjust");
+ break;
+ default:
+ snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Undef-%ld", layer_state);
+ }
+
+ return layer_state_str;
+}