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 }