led_controls.c (1107B)
1 // Copyright 2018 Carlos Filoteo 2 // SPDX-License-Identifier: GPL-2.0-or-later 3 #include QMK_KEYBOARD_H 4 #include "uart.h" 5 6 bool led_update_kb(led_t led_state) { 7 bool res = led_update_user(led_state); 8 if (res) { 9 if (led_state.caps_lock) { 10 // output low 11 gpio_set_pin_output(B0); 12 gpio_write_pin_low(B0); 13 gpio_set_pin_output(D5); 14 gpio_write_pin_low(D5); 15 } else { 16 // Hi-Z 17 gpio_set_pin_input(B0); 18 gpio_set_pin_input(D5); 19 } 20 } 21 return false; 22 } 23 24 void keyboard_post_init_kb(void) { 25 uart_init(9600); 26 27 keyboard_post_init_user(); 28 } 29 30 bool process_record_kb(uint16_t keycode, keyrecord_t *record) { 31 if (record->event.pressed) { 32 uart_write((record->event.key.row * 16) + record->event.key.col); 33 34 switch (keycode) { 35 case LED_TOG: 36 uart_write(0x64); 37 return false; 38 case LED_CHG: 39 uart_write(0x65); 40 return false; 41 } 42 } 43 return process_record_user(keycode, record); 44 }