aboutsummaryrefslogtreecommitdiffstats
path: root/tmk_core/common/action.c
diff options
context:
space:
mode:
authorOlivier <olivier@gid0.org>2016-11-27 23:23:21 +0100
committerOlivier <olivier@gid0.org>2016-11-27 23:23:21 +0100
commitd6d0b7eadaa568853b21d74057db306a33b7a847 (patch)
treee935179ed0db152f94d31ef187c01a40f0fb42d6 /tmk_core/common/action.c
parent73d2a470eed73a1ba28520343bd1cfc81498d183 (diff)
parent1585fc4b616cb28b8d4a418cd31c8ce0dd64f731 (diff)
downloadfirmware-d6d0b7eadaa568853b21d74057db306a33b7a847.tar.gz
firmware-d6d0b7eadaa568853b21d74057db306a33b7a847.tar.bz2
firmware-d6d0b7eadaa568853b21d74057db306a33b7a847.zip
Merge https://github.com/jackhumbert/qmk_firmware
Diffstat (limited to 'tmk_core/common/action.c')
-rw-r--r--tmk_core/common/action.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/tmk_core/common/action.c b/tmk_core/common/action.c
index 08ef22eb9..d485b46c7 100644
--- a/tmk_core/common/action.c
+++ b/tmk_core/common/action.c
@@ -155,9 +155,10 @@ void process_action(keyrecord_t *record, action_t action)
action.key.mods<<4;
if (event.pressed) {
if (mods) {
- if (IS_MOD(action.key.code)) {
+ if (IS_MOD(action.key.code) || action.key.code == KC_NO) {
// e.g. LSFT(KC_LGUI): we don't want the LSFT to be weak as it would make it useless.
- // this also makes LSFT(KC_LGUI) behave exactly the same as LGUI(KC_LSFT)
+ // This also makes LSFT(KC_LGUI) behave exactly the same as LGUI(KC_LSFT).
+ // Same applies for some keys like KC_MEH which are declared as MEH(KC_NO).
add_mods(mods);
} else {
add_weak_mods(mods);
@@ -168,7 +169,7 @@ void process_action(keyrecord_t *record, action_t action)
} else {
unregister_code(action.key.code);
if (mods) {
- if (IS_MOD(action.key.code)) {
+ if (IS_MOD(action.key.code) || action.key.code == KC_NO) {
del_mods(mods);
} else {
del_weak_mods(mods);