layer_state_reader.c (832B)
1 #include "action_layer.h" 2 #include <stdio.h> 3 4 #define L_BASE 0 5 #define L_LOWER (1 << 1) 6 #define L_RAISE (1 << 2) 7 #define L_ADJUST (1 << 3) 8 #define L_ADJUST_TRI (L_ADJUST | L_RAISE | L_LOWER) 9 10 char layer_state_str[24]; 11 12 const char *read_layer_state(void) { 13 switch (layer_state) 14 { 15 case L_BASE: 16 snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Base"); 17 break; 18 case L_RAISE: 19 snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Raise"); 20 break; 21 case L_LOWER: 22 snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Lower"); 23 break; 24 case L_ADJUST: 25 case L_ADJUST_TRI: 26 snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Adjust"); 27 break; 28 default: 29 snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Undef-%u", layer_state); 30 } 31 32 return layer_state_str; 33 }