X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=common%2Faction_macro.c;h=d85aee3796e58a85196fae6765f3025be53d84c7;hb=b08d4e7f69a1e1ef1a7a20b305138e4443935c4b;hp=cc7ac18a099215defdf2772dfea49a37fef263c0;hpb=6aaa6e0ef9aa1e464b67723fd4cdd0d63b2c861d;p=tmk_firmware.git
diff --git a/common/action_macro.c b/common/action_macro.c
index cc7ac18..d85aee3 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();