layer_state_reader.c 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #include QMK_KEYBOARD_H
  2. #include <stdio.h>
  3. #include "crkbd.h"
  4. // in the future, should use (1U<<_LAYER_NAME) instead, but needs to be moved to keymap,c
  5. #define L_BASE 0
  6. #define L_LOWER 2
  7. #define L_RAISE 4
  8. #define L_ADJUST 8
  9. #define L_ADJUST_TRI 14
  10. char layer_state_str[24];
  11. const char *read_layer_state(void) {
  12. switch (layer_state)
  13. {
  14. case L_BASE:
  15. snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Default");
  16. break;
  17. case L_RAISE:
  18. snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Raise");
  19. break;
  20. case L_LOWER:
  21. snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Lower");
  22. break;
  23. case L_ADJUST:
  24. case L_ADJUST_TRI:
  25. snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Adjust");
  26. break;
  27. default:
  28. #if defined (LAYER_STATE_32BIT)
  29. snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Undef-%ld", layer_state);
  30. #else
  31. snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Undef-%d", layer_state);
  32. #endif
  33. }
  34. return layer_state_str;
  35. }