void bootmagic_lite(void) { // The lite version of TMK's bootmagic based on Wilba. // 100% less potential for accidentally making the // keyboard do stupid things. // We need multiple scans because debouncing can't be turned off. matrix_scan(); #if defined(DEBOUNCING_DELAY) && DEBOUNCING_DELAY > 0 wait_ms(DEBOUNCING_DELAY * 2); #elif defined(DEBOUNCE) && DEBOUNCE > 0 wait_ms(DEBOUNCE * 2); #else wait_ms(30); #endif matrix_scan(); // If the Esc and space bar are held down on power up, // reset the EEPROM valid state and jump to bootloader. // Assumes Esc is at [0,0]. // This isn't very generalized, but we need something that doesn't // rely on user's keymaps in firmware or EEPROM. if (matrix_get_row(BOOTMAGIC_LITE_ROW) & (1 << BOOTMAGIC_LITE_COLUMN)) { eeconfig_disable(); // Jump to bootloader. bootloader_jump(); } }
void bootmagic_lite(void) { // The lite version of TMK's bootmagic. // 100% less potential for accidentally making the // keyboard do stupid things. // We need multiple scans because debouncing can't be turned off. matrix_scan(); wait_ms(DEBOUNCING_DELAY); matrix_scan(); // If the Esc and space bar are held down on power up, // reset the EEPROM valid state and jump to bootloader. // Assumes Esc is at [0,0] and spacebar is at [4,7]. // This isn't very generalized, but we need something that doesn't // rely on user's keymaps in firmware or EEPROM. if ( ( matrix_get_row(0) & (1<<0) ) && ( matrix_get_row(4) & (1<<7) ) ) { // Set the Zeal60 specific EEPROM state as invalid. eeprom_set_valid(false); // Set the TMK/QMK EEPROM state as invalid. eeconfig_disable(); // Jump to bootloader. bootloader_jump(); } }