From cb3a547ebff8e09401c7d635ed24585a7521bb19 Mon Sep 17 00:00:00 2001 From: tmk Date: Tue, 28 Jan 2014 10:55:51 +0900 Subject: [PATCH] Make modifiers 'weak' in macro --- common/action_macro.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/common/action_macro.c b/common/action_macro.c index cc7ac18a..d85aee37 100644 --- a/common/action_macro.c +++ b/common/action_macro.c @@ -16,6 +16,7 @@ along with this program. If not, see . */ #include #include "action.h" +#include "action_util.h" #include "action_macro.h" #ifdef DEBUG_ACTION @@ -39,12 +40,20 @@ void action_macro_play(const macro_t *macro_p) case KEY_DOWN: MACRO_READ(); dprintf("KEY_DOWN(%02X)\n", macro); - register_code(macro); + if (IS_MOD(macro)) { + add_weak_mods(MOD_BIT(macro)); + } else { + register_code(macro); + } break; case KEY_UP: MACRO_READ(); dprintf("KEY_UP(%02X)\n", macro); - unregister_code(macro); + if (IS_MOD(macro)) { + del_weak_mods(MOD_BIT(macro)); + } else { + unregister_code(macro); + } break; case WAIT: MACRO_READ();