From 8a2457d7534ba082b52599e3af56f9e50e8dc38a Mon Sep 17 00:00:00 2001 From: IBNobody Date: Wed, 16 Mar 2016 10:27:04 -0500 Subject: Adding Retro_Refit Keyboard Retro_Refit is an example of using a Teensy to replace a keyboard controller on an older keyboard. The original 6x15 keyboard had a non-standard 11x8 matrix. --- keyboard/retro_refit/retro_refit.c | 80 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 keyboard/retro_refit/retro_refit.c (limited to 'keyboard/retro_refit/retro_refit.c') diff --git a/keyboard/retro_refit/retro_refit.c b/keyboard/retro_refit/retro_refit.c new file mode 100644 index 000000000..e01b8956a --- /dev/null +++ b/keyboard/retro_refit/retro_refit.c @@ -0,0 +1,80 @@ +#include "retro_refit.h" + +__attribute__ ((weak)) +void * matrix_init_user(void) { + // leave this function blank - it can be defined in a keymap file + return NULL; +}; + +__attribute__ ((weak)) +void * matrix_scan_user(void) { + // leave this function blank - it can be defined in a keymap file + return NULL; +}; + +__attribute__ ((weak)) +void * led_set_user(uint8_t usb_led) { + // leave this function blank - it can be defined in a keymap file + return NULL; +}; + +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); + + if (matrix_init_user) { + (*matrix_init_user)(); + } + return NULL; +}; + +void * matrix_scan_kb(void) { + // put your looping keyboard code here + // runs every cycle (a lot) + + if (matrix_scan_user) { + (*matrix_scan_user)(); + } + return NULL; +}; + +void * led_set_kb(uint8_t usb_led) { + // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here + + if (usb_led & (1<