summaryrefslogtreecommitdiffstats
path: root/common/keyboard.c
diff options
context:
space:
mode:
Diffstat (limited to 'common/keyboard.c')
-rw-r--r--common/keyboard.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/common/keyboard.c b/common/keyboard.c
index 5e9945baf4..2c88b3e437 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 <http://www.gnu.org/licenses/>.
*/
+#include <stdint.h>
+#include <util/delay.h>
#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();