diff options
Diffstat (limited to 'tmk_core')
| -rw-r--r-- | tmk_core/common/action_layer.c | 12 | ||||
| -rw-r--r-- | tmk_core/common/action_layer.h | 5 | 
2 files changed, 17 insertions, 0 deletions
| diff --git a/tmk_core/common/action_layer.c b/tmk_core/common/action_layer.c index a3c7579642..58d919a04d 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; diff --git a/tmk_core/common/action_layer.h b/tmk_core/common/action_layer.h index 025cf5420f..d89ed6e5ce 100644 --- a/tmk_core/common/action_layer.h +++ b/tmk_core/common/action_layer.h @@ -29,6 +29,9 @@ extern uint32_t default_layer_state;  void default_layer_debug(void);  void default_layer_set(uint32_t state); +__attribute__((weak)) +uint32_t default_layer_state_set_kb(uint32_t state); +  #ifndef NO_ACTION_LAYER  /* bitwise operation */  void default_layer_or(uint32_t state); @@ -69,6 +72,8 @@ void layer_xor(uint32_t state);  #define layer_xor(state)  #define layer_debug() +__attribute__((weak)) +uint32_t layer_state_set_kb(uint32_t state);  #endif  /* pressed actions cache */ | 
