logo

qmk_firmware

custom branch of QMK firmware git clone https://anongit.hacktivis.me/git/qmk_firmware.git

stront.c (1273B)


  1. // Copyright 2023 zzeneg (@zzeneg)
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #include "stront.h"
  4. #include "display.h"
  5. static bool display_enabled;
  6. /* public function to be used in keymaps */
  7. bool is_display_enabled(void) {
  8. return display_enabled;
  9. }
  10. /* default encoder keys */
  11. bool encoder_update_kb(uint8_t index, bool clockwise) {
  12. if (!encoder_update_user(index, clockwise)) {
  13. return false;
  14. }
  15. if (index == 0) {
  16. if (clockwise) {
  17. tap_code_delay(KC_VOLU, 10);
  18. } else {
  19. tap_code_delay(KC_VOLD, 10);
  20. }
  21. } else if (index == 1) {
  22. if (clockwise) {
  23. tap_code_delay(KC_RIGHT, 10);
  24. } else {
  25. tap_code_delay(KC_LEFT, 10);
  26. }
  27. }
  28. return true;
  29. }
  30. /* Caps Lock processing */
  31. bool led_update_kb(led_t led_state) {
  32. bool res = led_update_user(led_state);
  33. if (res && display_enabled) {
  34. display_process_caps(led_state.caps_lock);
  35. }
  36. return res;
  37. }
  38. void housekeeping_task_kb(void) {
  39. if (display_enabled) {
  40. display_housekeeping_task();
  41. }
  42. }
  43. void keyboard_post_init_kb(void) {
  44. display_enabled = false;
  45. if (is_keyboard_left()) {
  46. display_enabled = display_init_kb();
  47. }
  48. keyboard_post_init_user();
  49. }