diff options
author | Jack Humbert <jack.humb@gmail.com> | 2016-03-22 22:15:18 -0400 |
---|---|---|
committer | Jack Humbert <jack.humb@gmail.com> | 2016-03-22 22:15:18 -0400 |
commit | e8951d6e41e364a95f862a1d3544a52b32857148 (patch) | |
tree | a4a868a605e1f0564fd332c1c3f095c03491b6ea /keyboard/retro_refit/retro_refit.c | |
parent | 403d756ad56de18488e3d048e849c55e77a20b32 (diff) | |
parent | 3d56ec052ed485d4b717da930c4024b4a3f792e0 (diff) |
Merge pull request #199 from IBNobody/master
Added LED Indicator Support to QMK Template
Diffstat (limited to 'keyboard/retro_refit/retro_refit.c')
-rw-r--r-- | keyboard/retro_refit/retro_refit.c | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/keyboard/retro_refit/retro_refit.c b/keyboard/retro_refit/retro_refit.c new file mode 100644 index 0000000000..0b13eb8301 --- /dev/null +++ b/keyboard/retro_refit/retro_refit.c @@ -0,0 +1,68 @@ +#include "retro_refit.h" + +__attribute__ ((weak)) +void matrix_init_user(void) { + // leave this function blank - it can be defined in a keymap file +}; + +__attribute__ ((weak)) +void matrix_scan_user(void) { + // leave this function blank - it can be defined in a keymap file +}; + +__attribute__ ((weak)) +void led_set_user(uint8_t usb_led) { + // leave this function blank - it can be defined in a keymap file +}; + +void matrix_init_kb(void) { + // put your keyboard start-up code here + // runs once when the firmware starts up + + // Disable status LED on KB, enable status LED on Teensy (KB_STATUS = !TEENSY_STATUS) + DDRD |= (1<<6); + PORTD |= (1<<6); + + matrix_init_user(); +}; + +void amatrix_scan_kb(void) { + // put your looping keyboard code here + // runs every cycle (a lot) + + matrix_scan_user(); +}; + +void led_set_kb(uint8_t usb_led) { + // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here + + if (usb_led & (1<<USB_LED_CAPS_LOCK)) { + // output low + DDRD |= (1<<0); + PORTD &= ~(1<<0); + } else { + // Hi-Z + DDRD &= ~(1<<0); + PORTD &= ~(1<<0); + } + if (usb_led & (1<<USB_LED_NUM_LOCK)) { + // output low + DDRD |= (1<<1); + PORTD &= ~(1<<1); + } else { + // Hi-Z + DDRD &= ~(1<<1); + PORTD &= ~(1<<1); + } + if (usb_led & (1<<USB_LED_SCROLL_LOCK)) { + // output low + DDRC |= (1<<6); + PORTC &= ~(1<<6); + } else { + // Hi-Z + DDRC &= ~(1<<6); + PORTC &= ~(1<<6); + } + + led_set_user(usb_led); +};
\ No newline at end of file |