summaryrefslogtreecommitdiff
path: root/keyboards/lily58/keymaps/ninjonas/layer_state_reader.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/lily58/keymaps/ninjonas/layer_state_reader.c')
-rw-r--r--keyboards/lily58/keymaps/ninjonas/layer_state_reader.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/keyboards/lily58/keymaps/ninjonas/layer_state_reader.c b/keyboards/lily58/keymaps/ninjonas/layer_state_reader.c
new file mode 100644
index 0000000000..883eaca036
--- /dev/null
+++ b/keyboards/lily58/keymaps/ninjonas/layer_state_reader.c
@@ -0,0 +1,37 @@
+#include QMK_KEYBOARD_H
+#include <stdio.h>
+#include "lily58.h"
+#include "ninjonas.h"
+
+char layer_state_str[24];
+
+const char *read_layer_state(void) {
+ switch (biton32(layer_state))
+ {
+ case _RAISE:
+ snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Raise");
+ break;
+ case _LOWER:
+ snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Lower");
+ break;
+ case _ADJUST:
+ snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Adjust");
+ break;
+ default:
+ switch (biton32(default_layer_state)) {
+ case _COLEMAK:
+ snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Colemak");
+ break;
+ case _DVORAK:
+ snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Dvorak");
+ break;
+ case _QWERTY:
+ snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Qwerty");
+ break;
+ default:
+ snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Undef-%ld", layer_state);
+ }
+ }
+
+ return layer_state_str;
+} \ No newline at end of file