diff --git a/keyboards/massdrop/alt/config.h b/keyboards/massdrop/alt/config.h
index 05199b2da6c9..6ed4208166bf 100644
--- a/keyboards/massdrop/alt/config.h
+++ b/keyboards/massdrop/alt/config.h
@@ -94,6 +94,9 @@ along with this program. If not, see .
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
+// Required BOOT key hold time (in ms) for restarting to bootloader -PS081419
+#define BOOTKEY_HOLD_MS 2000
+
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
//#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/massdrop/alt/keymaps/default/keymap.c b/keyboards/massdrop/alt/keymaps/default/keymap.c
index 83cbe622cdf1..39cd97eb0839 100644
--- a/keyboards/massdrop/alt/keymaps/default/keymap.c
+++ b/keyboards/massdrop/alt/keymaps/default/keymap.c
@@ -84,7 +84,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed) {
key_timer = timer_read32();
} else {
- if (timer_elapsed32(key_timer) >= 500) {
+ if (timer_elapsed32(key_timer) >= BOOTKEY_HOLD_MS) {
reset_keyboard();
}
}
diff --git a/keyboards/massdrop/alt/keymaps/default_md/keymap.c b/keyboards/massdrop/alt/keymaps/default_md/keymap.c
index 443ad03d1c3a..122e8be641b3 100644
--- a/keyboards/massdrop/alt/keymaps/default_md/keymap.c
+++ b/keyboards/massdrop/alt/keymaps/default_md/keymap.c
@@ -231,7 +231,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed) {
key_timer = timer_read32();
} else {
- if (timer_elapsed32(key_timer) >= 500) {
+ if (timer_elapsed32(key_timer) >= BOOTKEY_HOLD_MS) {
reset_keyboard();
}
}
diff --git a/keyboards/massdrop/alt/keymaps/mac/keymap.c b/keyboards/massdrop/alt/keymaps/mac/keymap.c
index 900504e4d46d..9ea817e260e5 100644
--- a/keyboards/massdrop/alt/keymaps/mac/keymap.c
+++ b/keyboards/massdrop/alt/keymaps/mac/keymap.c
@@ -84,7 +84,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed) {
key_timer = timer_read32();
} else {
- if (timer_elapsed32(key_timer) >= 500) {
+ if (timer_elapsed32(key_timer) >= BOOTKEY_HOLD_MS) {
reset_keyboard();
}
}
diff --git a/keyboards/massdrop/alt/keymaps/mac_md/keymap.c b/keyboards/massdrop/alt/keymaps/mac_md/keymap.c
index facfd10a150b..e505ef9a83eb 100644
--- a/keyboards/massdrop/alt/keymaps/mac_md/keymap.c
+++ b/keyboards/massdrop/alt/keymaps/mac_md/keymap.c
@@ -231,7 +231,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed) {
key_timer = timer_read32();
} else {
- if (timer_elapsed32(key_timer) >= 500) {
+ if (timer_elapsed32(key_timer) >= BOOTKEY_HOLD_MS) {
reset_keyboard();
}
}
diff --git a/keyboards/massdrop/ctrl/config.h b/keyboards/massdrop/ctrl/config.h
index b67f3b711761..035f954218a0 100644
--- a/keyboards/massdrop/ctrl/config.h
+++ b/keyboards/massdrop/ctrl/config.h
@@ -94,6 +94,9 @@ along with this program. If not, see .
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
+// Required BOOT key hold time (in ms) for restarting to bootloader -PS081419
+#define BOOTKEY_HOLD_MS 2000
+
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
//#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/massdrop/ctrl/keymaps/default/keymap.c b/keyboards/massdrop/ctrl/keymaps/default/keymap.c
index 75c9fd35fa10..0637055d92d1 100644
--- a/keyboards/massdrop/ctrl/keymaps/default/keymap.c
+++ b/keyboards/massdrop/ctrl/keymaps/default/keymap.c
@@ -87,7 +87,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed) {
key_timer = timer_read32();
} else {
- if (timer_elapsed32(key_timer) >= 500) {
+ if (timer_elapsed32(key_timer) >= BOOTKEY_HOLD_MS) {
reset_keyboard();
}
}
diff --git a/keyboards/massdrop/ctrl/keymaps/default_md/keymap.c b/keyboards/massdrop/ctrl/keymaps/default_md/keymap.c
index ddd90a8fa803..73891473a048 100644
--- a/keyboards/massdrop/ctrl/keymaps/default_md/keymap.c
+++ b/keyboards/massdrop/ctrl/keymaps/default_md/keymap.c
@@ -234,7 +234,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed) {
key_timer = timer_read32();
} else {
- if (timer_elapsed32(key_timer) >= 500) {
+ if (timer_elapsed32(key_timer) >= BOOTKEY_HOLD_MS) {
reset_keyboard();
}
}
diff --git a/keyboards/massdrop/ctrl/keymaps/mac/keymap.c b/keyboards/massdrop/ctrl/keymaps/mac/keymap.c
index cceaa1078056..20cd74b5d8a1 100644
--- a/keyboards/massdrop/ctrl/keymaps/mac/keymap.c
+++ b/keyboards/massdrop/ctrl/keymaps/mac/keymap.c
@@ -87,7 +87,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed) {
key_timer = timer_read32();
} else {
- if (timer_elapsed32(key_timer) >= 500) {
+ if (timer_elapsed32(key_timer) >= BOOTKEY_HOLD_MS) {
reset_keyboard();
}
}
diff --git a/keyboards/massdrop/ctrl/keymaps/mac_md/keymap.c b/keyboards/massdrop/ctrl/keymaps/mac_md/keymap.c
index fcf1057d7576..f2b072833873 100644
--- a/keyboards/massdrop/ctrl/keymaps/mac_md/keymap.c
+++ b/keyboards/massdrop/ctrl/keymaps/mac_md/keymap.c
@@ -234,7 +234,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed) {
key_timer = timer_read32();
} else {
- if (timer_elapsed32(key_timer) >= 500) {
+ if (timer_elapsed32(key_timer) >= BOOTKEY_HOLD_MS) {
reset_keyboard();
}
}
diff --git a/keyboards/massdrop/rocketeer/config.h b/keyboards/massdrop/rocketeer/config.h
index 3caa0fdf7a3f..d9bab749b27d 100644
--- a/keyboards/massdrop/rocketeer/config.h
+++ b/keyboards/massdrop/rocketeer/config.h
@@ -95,6 +95,9 @@ along with this program. If not, see .
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
+// Required BOOT key hold time (in ms) for restarting to bootloader -PS081419
+#define BOOTKEY_HOLD_MS 2000
+
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
//#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/massdrop/rocketeer/keymaps/default_md/keymap.c b/keyboards/massdrop/rocketeer/keymaps/default_md/keymap.c
index 633c8a8c7969..c184d750a6c1 100644
--- a/keyboards/massdrop/rocketeer/keymaps/default_md/keymap.c
+++ b/keyboards/massdrop/rocketeer/keymaps/default_md/keymap.c
@@ -231,7 +231,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed) {
key_timer = timer_read32();
} else {
- if (timer_elapsed32(key_timer) >= 500) {
+ if (timer_elapsed32(key_timer) >= BOOTKEY_HOLD_MS) {
reset_keyboard();
}
}
diff --git a/keyboards/massdrop/rocketeer/keymaps/mac_md/keymap.c b/keyboards/massdrop/rocketeer/keymaps/mac_md/keymap.c
index f227978d58ce..77aaa01fc2fc 100644
--- a/keyboards/massdrop/rocketeer/keymaps/mac_md/keymap.c
+++ b/keyboards/massdrop/rocketeer/keymaps/mac_md/keymap.c
@@ -231,7 +231,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed) {
key_timer = timer_read32();
} else {
- if (timer_elapsed32(key_timer) >= 500) {
+ if (timer_elapsed32(key_timer) >= BOOTKEY_HOLD_MS) {
reset_keyboard();
}
}
diff --git a/keyboards/massdrop/shift/config.h b/keyboards/massdrop/shift/config.h
index d5a9bb6406ec..f89c7703e8a5 100644
--- a/keyboards/massdrop/shift/config.h
+++ b/keyboards/massdrop/shift/config.h
@@ -125,6 +125,9 @@ along with this program. If not, see .
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
+// Required BOOT key hold time (in ms) for restarting to bootloader -PS081419
+#define BOOTKEY_HOLD_MS 2000
+
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
//#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
diff --git a/keyboards/massdrop/shift/keymaps/default_md/keymap.c b/keyboards/massdrop/shift/keymaps/default_md/keymap.c
index 5a9933a99286..9386c291da3c 100644
--- a/keyboards/massdrop/shift/keymaps/default_md/keymap.c
+++ b/keyboards/massdrop/shift/keymaps/default_md/keymap.c
@@ -243,7 +243,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed) {
key_timer = timer_read32();
} else {
- if (timer_elapsed32(key_timer) >= 500) {
+ if (timer_elapsed32(key_timer) >= BOOTKEY_HOLD_MS) {
reset_keyboard();
}
}
diff --git a/keyboards/massdrop/shift/keymaps/mac_md/keymap.c b/keyboards/massdrop/shift/keymaps/mac_md/keymap.c
index c4b7a5975b6e..d5977c5c145b 100644
--- a/keyboards/massdrop/shift/keymaps/mac_md/keymap.c
+++ b/keyboards/massdrop/shift/keymaps/mac_md/keymap.c
@@ -243,7 +243,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed) {
key_timer = timer_read32();
} else {
- if (timer_elapsed32(key_timer) >= 500) {
+ if (timer_elapsed32(key_timer) >= BOOTKEY_HOLD_MS) {
reset_keyboard();
}
}
diff --git a/quantum/quantum.c b/quantum/quantum.c
index 6530738b71d3..e01e98ff0015 100644
--- a/quantum/quantum.c
+++ b/quantum/quantum.c
@@ -647,6 +647,7 @@ bool process_record_quantum(keyrecord_t *record) {
#endif
break;
case MAGIC_TOGGLE_NKRO:
+ clear_keyboard(); // clear first buffer to prevent stuck keys -PS080919
keymap_config.nkro = !keymap_config.nkro;
break;
default: