#ifdef MIDI_ENABLE
# include "process_midi.h"
#endif
+#ifdef HD44780_ENABLE
+# include "hd44780.h"
+#endif
+#ifdef QWIIC_ENABLE
+# include "qwiic.h"
+#endif
#ifdef MATRIX_HAS_GHOST
extern const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS];
#endif
+void disable_jtag(void) {
+// To use PORTF disable JTAG with writing JTD bit twice within four cycles.
+#if (defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__) || defined(__AVR_ATmega32U4__))
+ MCUCR |= _BV(JTD);
+ MCUCR |= _BV(JTD);
+#endif
+}
+
/** \brief matrix_setup
*
* FIXME: needs doc
* FIXME: needs doc
*/
void keyboard_setup(void) {
+ disable_jtag();
matrix_setup();
}
void keyboard_init(void) {
timer_init();
matrix_init();
+#ifdef QWIIC_ENABLE
+ qwiic_init();
+#endif
#ifdef PS2_MOUSE_ENABLE
ps2_mouse_init();
#endif
/** \brief Keyboard task: Do keyboard routine jobs
*
- * Do routine keyboard jobs:
+ * Do routine keyboard jobs:
*
* * scan matrix
* * handle mouse movements
MATRIX_LOOP_END:
+#ifdef QWIIC_ENABLE
+ qwiic_task();
+#endif
+
#ifdef MOUSEKEY_ENABLE
// mousekey repeat & acceleration
mousekey_task();