diff --git a/quantum/action.c b/quantum/action.c index 16fefa9e43..3ce746dbe8 100644 --- a/quantum/action.c +++ b/quantum/action.c @@ -316,6 +316,11 @@ void process_action(keyrecord_t *record, action_t action) { uint8_t tap_count = record->tap.count; #endif + if (event.pressed) { + // clear the potential weak mods left by previously pressed keys + clear_weak_mods(); + } + #ifndef NO_ACTION_ONESHOT bool do_release_oneshot = false; // notice we only clear the one shot layer if the pressed key is not a modifier.