You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
1.4 KiB

  1. /*
  2. Note: this is a modified copy of ../default/visualizer.c, originally licensed GPL.
  3. */
  4. #include "simple_visualizer.h"
  5. // This function should be implemented by the keymap visualizer
  6. // Don't change anything else than state->target_lcd_color and state->layer_text as that's the only thing
  7. // that the simple_visualizer assumes that you are updating
  8. // Also make sure that the buffer passed to state->layer_text remains valid until the previous animation is
  9. // stopped. This can be done by either double buffering it or by using constant strings
  10. static void get_visualizer_layer_and_color(visualizer_state_t* state) {
  11. if (state->status.layer & 0x20) {
  12. state->target_lcd_color = LCD_COLOR(127, 0xFF, 0xFF);
  13. state->layer_text = "Mouse";
  14. } else if (state->status.layer & 0x10) {
  15. state->target_lcd_color = LCD_COLOR(85, 0xFF, 0xFF);
  16. state->layer_text = "Symbol";
  17. } else if (state->status.layer & 0x8) {
  18. state->target_lcd_color = LCD_COLOR(64, 0xFF, 0xFF);
  19. state->layer_text = "Brackets";
  20. } else if (state->status.layer & 0x4) {
  21. state->target_lcd_color = LCD_COLOR(42, 0xFF, 0xFF);
  22. state->layer_text = "Diak";
  23. } else if (state->status.layer & 0x2) {
  24. state->target_lcd_color = LCD_COLOR(21, 0xFF, 0xFF);
  25. state->layer_text = "Terminal";
  26. } else {
  27. state->target_lcd_color = LCD_COLOR(192, 0xFF, 0xFF);
  28. state->layer_text = "Vim";
  29. }
  30. }