X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=common%2Fkeyboard.c;h=e4bc3dc8c26fadf01fff978c633c2dfe3c163743;hb=f8d289e66965f99469292370c3b9200a03254f8e;hp=5e9945baf450eb1f8ca66441c1800da1de35b7d6;hpb=8c80deb775ac151001dc1592a2e94e8677b49964;p=tmk_firmware.git diff --git a/common/keyboard.c b/common/keyboard.c index 5e9945b..e4bc3dc 100644 --- a/common/keyboard.c +++ b/common/keyboard.c @@ -14,6 +14,8 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ +#include +#include #include "keyboard.h" #include "matrix.h" #include "keymap.h" @@ -40,8 +42,15 @@ void keyboard_init(void) timer_init(); matrix_init(); - /* boot magic keys goes here */ + /* matrix scan for boot magic keys */ +#ifdef DEBOUNCE + uint8_t scan = DEBOUNCE * 2; + while (scan--) { matrix_scan(); _delay_ms(1); } +#else matrix_scan(); +#endif + + /* boot magic keys */ #ifdef IS_BOOTMAGIC_BOOTLOADER /* kick up bootloader */ if (IS_BOOTMAGIC_BOOTLOADER()) bootloader_jump(); @@ -76,7 +85,7 @@ void keyboard_task(void) for (uint8_t c = 0; c < MATRIX_COLS; c++) { if (matrix_change & ((matrix_row_t)1<