qmk_firmware

QMK firmware for my keyboards (Corne, Sweep Ferris) and trackball (Ploopy Adept)
Log | Files | Refs | Submodules | LICENSE

stront.c (1273B)


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