- // Wait an extra second for the PC's operating system to load drivers
- // and do whatever it does to actually be ready for input
- // needs such long time in my PC.
- /* wait for debug print. no need for normal use */
- for (int i =0; i < 6; i++) {
- LED_CONFIG;
- LED_ON;
- _delay_ms(500);
- LED_OFF;
- _delay_ms(500);
+ keyboard_init();
+ matrix_scan();
+ if (matrix_key_count() >= 3) {
+#ifdef DEBUG_LED
+ for (int i = 0; i < 6; i++) {
+ DEBUG_LED_CONFIG;
+ DEBUG_LED_ON;
+ _delay_ms(500);
+ DEBUG_LED_OFF;
+ _delay_ms(500);
+ }
+#else
+ _delay_ms(5000);
+#endif
+ print_enable = true;
+ debug_enable = true;
+ debug_matrix = true;
+ debug_keyboard = true;
+ debug_mouse = true;
+ print("debug enabled.\n");
+ }
+ if (matrix_key_count() >= 4) {
+ print("jump to bootloader...\n");
+ _delay_ms(1000);
+ jump_bootloader(); // not return