qmk_firmware/keyboards/crkbd/keymaps/mporrato/layer_state_reader.c

42 lines
1.0 KiB
C

#include QMK_KEYBOARD_H
#include <string.h>
#include "crkbd.h"
#include "common.h"
#define L_BASE 0
#define L_LOWER (1<<_LOWER)
#define L_RAISE (1<<_RAISE)
#define L_ADJUST (1<<_ADJUST)
#define L_NAV (1<<_NAV)
#define L_ADJUST_TRI (L_LOWER+L_RAISE+L_ADJUST)
char layer_state_str[24];
const char *read_layer_state(void) {
strncpy(layer_state_str, user_config.ansi_emulation ? "ANSI " : " ISO ", sizeof(layer_state_str)-1);
switch (layer_state)
{
case L_BASE:
strncat(layer_state_str, "Default", sizeof(layer_state_str)-1);
break;
case L_RAISE:
strncat(layer_state_str, "Raise", sizeof(layer_state_str)-1);
break;
case L_LOWER:
strncat(layer_state_str, "Lower", sizeof(layer_state_str)-1);
break;
case L_ADJUST:
case L_ADJUST_TRI:
strncat(layer_state_str, "Adjust", sizeof(layer_state_str)-1);
break;
case L_NAV:
strncat(layer_state_str, "Navigation", sizeof(layer_state_str)-1);
break;
default:
strncat(layer_state_str, "Undefined", sizeof(layer_state_str)-1);
}
return layer_state_str;
}