diff options
Diffstat (limited to 'keyboards/crkbd/lib/layer_state_reader.c')
-rw-r--r-- | keyboards/crkbd/lib/layer_state_reader.c | 35 |
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; +} |