From b7a81f041906c3c978a314987e486536be0a58cd Mon Sep 17 00:00:00 2001
From: Didier Loiseau <didierloiseau+git@gmail.com>
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