X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=common%2Faction.c;h=ec8eeae7bc8b7bfb6f8e372ce9acc097b4351948;hb=2e75b138c1bcd5b937b61cc731ec911f55759703;hp=fddb97c508dbd96865c73ef08bfd68cc1739b1ac;hpb=894a387d1fd8c823b5339e524e1f9336601ce2ef;p=qmk_firmware.git diff --git a/common/action.c b/common/action.c index fddb97c50..ec8eeae7b 100644 --- a/common/action.c +++ b/common/action.c @@ -237,6 +237,16 @@ void process_action(keyrecord_t *record) case ACT_LAYER_TAP: case ACT_LAYER_TAP_EXT: switch (action.layer_tap.code) { + case 0xe0 ... 0xef: + /* layer On/Off with modifiers(left only) */ + if (event.pressed) { + layer_on(action.layer_tap.val); + register_mods(action.layer_tap.code & 0x0f); + } else { + layer_off(action.layer_tap.val); + unregister_mods(action.layer_tap.code & 0x0f); + } + break; case OP_TAP_TOGGLE: /* tap toggle */ if (event.pressed) { @@ -499,7 +509,7 @@ void clear_keyboard_but_mods(void) #endif } -bool is_tap_key(key_t key) +bool is_tap_key(keypos_t key) { action_t action = layer_switch_get_action(key);