summaryrefslogtreecommitdiff
path: root/common/action.c
diff options
context:
space:
mode:
Diffstat (limited to 'common/action.c')
-rw-r--r--common/action.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/common/action.c b/common/action.c
index 158522dd03..0651887444 100644
--- a/common/action.c
+++ b/common/action.c
@@ -72,22 +72,17 @@ void process_action(keyrecord_t *record)
uint8_t mods = (action.kind.id == ACT_LMODS) ? action.key.mods :
action.key.mods<<4;
if (event.pressed) {
- uint8_t tmp_mods = host_get_mods();
if (mods) {
host_add_mods(mods);
host_send_keyboard_report();
}
register_code(action.key.code);
- if (mods && action.key.code) {
- host_set_mods(tmp_mods);
- host_send_keyboard_report();
- }
} else {
- if (mods && !action.key.code) {
+ unregister_code(action.key.code);
+ if (mods) {
host_del_mods(mods);
host_send_keyboard_report();
}
- unregister_code(action.key.code);
}
}
break;