diff --git a/keyboards/keyboardio/atreus/keymaps/ardumont/keymap.c b/keyboards/keyboardio/atreus/keymaps/ardumont/keymap.c index 3bde667ee91..6faabbc3ed6 100644 --- a/keyboards/keyboardio/atreus/keymaps/ardumont/keymap.c +++ b/keyboards/keyboardio/atreus/keymaps/ardumont/keymap.c @@ -97,8 +97,7 @@ bool substitute_keycode(uint16_t keycode, keyrecord_t *record, uint8_t mod_state // Do not let QMK process the keycode further return false; } else { - // In case substitude_keycode is still being sent even after the release of - // the key + // In case substitude_keycode is still even after release of the key if (key_registered) { unregister_code(substitute_keycode); key_registered = false; @@ -106,6 +105,12 @@ bool substitute_keycode(uint16_t keycode, keyrecord_t *record, uint8_t mod_state return false; } } + } else { // ctrl got released + // In case substitude_keycode is still sent after release of the ctrl key + if (key_registered) { + unregister_code(substitute_keycode); + key_registered = false; + } } // Else, let QMK process the keycode as usual return true;