From b7a81f041906c3c978a314987e486536be0a58cd Mon Sep 17 00:00:00 2001 From: Didier Loiseau Date: Tue, 8 Mar 2016 23:14:15 +0100 Subject: Fix #156: clear weak mods on every key press - new macro_mods bit field for mods applied by macros - weak_mods now only used for ACT_{L,R}MODS (i.e. LSFT, RSFT, LCTL etc.) - clear the _weak_ mods on every key *pressed* such that LSFT etc. can no more interfere with the next key --- tmk_core/common/action_macro.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'tmk_core/common/action_macro.c') diff --git a/tmk_core/common/action_macro.c b/tmk_core/common/action_macro.c index ffaf125c06..7726b11907 100644 --- a/tmk_core/common/action_macro.c +++ b/tmk_core/common/action_macro.c @@ -41,7 +41,7 @@ void action_macro_play(const macro_t *macro_p) MACRO_READ(); dprintf("KEY_DOWN(%02X)\n", macro); if (IS_MOD(macro)) { - add_weak_mods(MOD_BIT(macro)); + add_macro_mods(MOD_BIT(macro)); send_keyboard_report(); } else { register_code(macro); @@ -51,7 +51,7 @@ void action_macro_play(const macro_t *macro_p) MACRO_READ(); dprintf("KEY_UP(%02X)\n", macro); if (IS_MOD(macro)) { - del_weak_mods(MOD_BIT(macro)); + del_macro_mods(MOD_BIT(macro)); send_keyboard_report(); } else { unregister_code(macro); -- cgit v1.2.3