X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=tmk_core%2Fcommon%2Faction_layer.c;h=c6a166a823e62d38675553c074213de348200179;hb=371922ad61a8fe7a3fc591949a1ad81f63be02c8;hp=a3c7579642770620542924557072f3ffbf5acd50;hpb=b49d7800aeae1009b39b2bff2121864425e73ce9;p=qmk_firmware.git diff --git a/tmk_core/common/action_layer.c b/tmk_core/common/action_layer.c index a3c757964..c6a166a82 100644 --- a/tmk_core/common/action_layer.c +++ b/tmk_core/common/action_layer.c @@ -16,8 +16,14 @@ */ uint32_t default_layer_state = 0; +__attribute__((weak)) +uint32_t default_layer_state_set_kb(uint32_t state) { + return state; +} + static void default_layer_state_set(uint32_t state) { + state = default_layer_state_set_kb(state); debug("default_layer_state: "); default_layer_debug(); debug(" to "); default_layer_state = state; @@ -57,8 +63,14 @@ void default_layer_xor(uint32_t state) */ uint32_t layer_state = 0; +__attribute__((weak)) +uint32_t layer_state_set_kb(uint32_t state) { + return state; +} + static void layer_state_set(uint32_t state) { + state = layer_state_set_kb(state); dprint("layer_state: "); layer_debug(); dprint(" to "); layer_state = state; @@ -176,10 +188,10 @@ action_t store_or_get_action(bool pressed, keypos_t key) int8_t layer_switch_get_layer(keypos_t key) { +#ifndef NO_ACTION_LAYER action_t action; action.code = ACTION_TRANSPARENT; -#ifndef NO_ACTION_LAYER uint32_t layers = layer_state | default_layer_state; /* check top layer first */ for (int8_t i = 31; i >= 0; i--) {