aboutsummaryrefslogtreecommitdiffstats
path: root/keyboards/crkbd/keymaps/lib/layer_state_reader.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/crkbd/keymaps/lib/layer_state_reader.c')
-rw-r--r--keyboards/crkbd/keymaps/lib/layer_state_reader.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/keyboards/crkbd/keymaps/lib/layer_state_reader.c b/keyboards/crkbd/keymaps/lib/layer_state_reader.c
new file mode 100644
index 000000000..f79720d6f
--- /dev/null
+++ b/keyboards/crkbd/keymaps/lib/layer_state_reader.c
@@ -0,0 +1,33 @@
+#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[40];
+
+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;
+}