- kick bootloader
- enable debug print
timer_init();
matrix_init();
+
+ /* boot magic keys goes here */
+ matrix_scan();
+#ifdef IS_BOOTMAGIC_BOOTLOADER
+ /* kick up bootloader */
+ if (IS_BOOTMAGIC_BOOTLOADER()) bootloader_jump();
+#endif
+#ifdef IS_BOOTMAGIC_DEBUG
+ if (IS_BOOTMAGIC_DEBUG()) debug_enable = true;
+#endif
+
#ifdef PS2_MOUSE_ENABLE
ps2_mouse_init();
#endif
#define MATRIX_COLS 8
+/*
+ * Boot magic keys
+ * call some function by pressing key when pluging cable or powering on.
+ */
+/* key position on matrix(ROW:COL) */
+#define KEY_FN 0x54
+#define KEY_D 0x14
+#define KEY_IS_ON(key) matrix_is_on((key)>>4, (key)&0xF)
+/* kick up bootloader */
+#define IS_BOOTMAGIC_BOOTLOADER() KEY_IS_ON(KEY_FN)
+/* debug on */
+#define IS_BOOTMAGIC_DEBUG() KEY_IS_ON(KEY_D)
+
+
/* key combination for command */
#define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)))