void led_init_ports(void) {
// Set caps lock LED pin as output
- DDRB |= (1<<2);
+ DDRB |= (1 << 2);
+ // Default to off
+ PORTB |= (1 << 2);
}
void led_set_kb(uint8_t usb_led) {
- // Code for caps lock LED as reported by the OS
- // Set this per keymap, instead of globally
- led_set_user(usb_led);
+ if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
+ PORTB &= ~(1 << 2);
+ } else {
+ PORTB |= (1 << 2);
+ }
+
+ led_set_user(usb_led);
}