diff options
author | Gabriel Young <[email protected]> | 2017-03-19 20:45:10 -0700 |
---|---|---|
committer | Gabriel Young <[email protected]> | 2017-03-19 20:45:10 -0700 |
commit | 7e9ca9a97612a5df11b4a2e466f34df0fd62564e (patch) | |
tree | acf4dc93ea504ced170e70f3a6004659e97e9abd /keyboards/frosty_flake/frosty_flake.c | |
parent | a43ae7c92fd2c41b283d03a8543677638a7c61f1 (diff) | |
download | qmk_firmware-7e9ca9a97612a5df11b4a2e466f34df0fd62564e.tar.gz qmk_firmware-7e9ca9a97612a5df11b4a2e466f34df0fd62564e.zip |
support LEDs
Diffstat (limited to 'keyboards/frosty_flake/frosty_flake.c')
-rw-r--r-- | keyboards/frosty_flake/frosty_flake.c | 40 |
1 files changed, 29 insertions, 11 deletions
diff --git a/keyboards/frosty_flake/frosty_flake.c b/keyboards/frosty_flake/frosty_flake.c index 22979a4515..ed17361840 100644 --- a/keyboards/frosty_flake/frosty_flake.c +++ b/keyboards/frosty_flake/frosty_flake.c @@ -1,28 +1,46 @@ #include "frosty_flake.h" void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up + // put your keyboard start-up code here + // runs once when the firmware starts up - matrix_init_user(); + matrix_init_user(); } void matrix_scan_kb(void) { - // put your looping keyboard code here - // runs every cycle (a lot) + // put your looping keyboard code here + // runs every cycle (a lot) - matrix_scan_user(); + matrix_scan_user(); } bool process_record_kb(uint16_t keycode, keyrecord_t *record) { - // put your per-action keyboard code here - // runs for every action, just before processing by the firmware + // put your per-action keyboard code here + // runs for every action, just before processing by the firmware - return process_record_user(keycode, record); + return process_record_user(keycode, record); } void led_set_kb(uint8_t usb_led) { - // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here + DDRB |= (1<<7); + DDRC |= (1<<5) | (1<<6); - led_set_user(usb_led); + print_dec(usb_led); + + if (usb_led & (1<<USB_LED_CAPS_LOCK)) + PORTC &= ~(1<<5); + else + PORTC |= (1<<5); + + if (usb_led & (1<<USB_LED_NUM_LOCK)) + PORTB &= ~(1<<7); + else + PORTB |= (1<<7); + + if (usb_led & (1<<USB_LED_SCROLL_LOCK)) + PORTC &= ~(1<<6); + else + PORTC |= (1<<6); + + led_set_user(usb_led); } |