aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tmk_core/common/action_layer.h6
-rw-r--r--tmk_core/common/bootmagic.c2
-rw-r--r--tmk_core/common/magic.c3
3 files changed, 9 insertions, 2 deletions
diff --git a/tmk_core/common/action_layer.h b/tmk_core/common/action_layer.h
index 16922c1ff..9b9173c33 100644
--- a/tmk_core/common/action_layer.h
+++ b/tmk_core/common/action_layer.h
@@ -85,6 +85,8 @@ void layer_invert(uint8_t layer);
85void layer_or(layer_state_t state); 85void layer_or(layer_state_t state);
86void layer_and(layer_state_t state); 86void layer_and(layer_state_t state);
87void layer_xor(layer_state_t state); 87void layer_xor(layer_state_t state);
88layer_state_t layer_state_set_user(layer_state_t state);
89layer_state_t layer_state_set_kb(layer_state_t state);
88#else 90#else
89# define layer_state 0 91# define layer_state 0
90 92
@@ -101,10 +103,10 @@ void layer_xor(layer_state_t state);
101# define layer_or(state) (void)state 103# define layer_or(state) (void)state
102# define layer_and(state) (void)state 104# define layer_and(state) (void)state
103# define layer_xor(state) (void)state 105# define layer_xor(state) (void)state
106# define layer_state_set_kb(state) (void)state
107# define layer_state_set_user(state) (void)state
104#endif 108#endif
105 109
106layer_state_t layer_state_set_user(layer_state_t state);
107layer_state_t layer_state_set_kb(layer_state_t state);
108 110
109/* pressed actions cache */ 111/* pressed actions cache */
110#if !defined(NO_ACTION_LAYER) && !defined(STRICT_LAYER_RELEASE) 112#if !defined(NO_ACTION_LAYER) && !defined(STRICT_LAYER_RELEASE)
diff --git a/tmk_core/common/bootmagic.c b/tmk_core/common/bootmagic.c
index bb2aa0db8..c1b3adf94 100644
--- a/tmk_core/common/bootmagic.c
+++ b/tmk_core/common/bootmagic.c
@@ -122,6 +122,8 @@ void bootmagic(void) {
122 default_layer = eeconfig_read_default_layer(); 122 default_layer = eeconfig_read_default_layer();
123 default_layer_set((layer_state_t)default_layer); 123 default_layer_set((layer_state_t)default_layer);
124 } 124 }
125 /* Also initialize layer state to trigger callback functions for layer_state */
126 layer_state_set_kb((layer_state_t)layer_state);
125 127
126 /* EE_HANDS handedness */ 128 /* EE_HANDS handedness */
127 if (bootmagic_scan_keycode(BOOTMAGIC_KEY_EE_HANDS_LEFT)) { 129 if (bootmagic_scan_keycode(BOOTMAGIC_KEY_EE_HANDS_LEFT)) {
diff --git a/tmk_core/common/magic.c b/tmk_core/common/magic.c
index d8ab52573..e14994164 100644
--- a/tmk_core/common/magic.c
+++ b/tmk_core/common/magic.c
@@ -33,4 +33,7 @@ void magic(void) {
33 uint8_t default_layer = 0; 33 uint8_t default_layer = 0;
34 default_layer = eeconfig_read_default_layer(); 34 default_layer = eeconfig_read_default_layer();
35 default_layer_set((layer_state_t)default_layer); 35 default_layer_set((layer_state_t)default_layer);
36
37 /* Also initialize layer state to trigger callback functions for layer_state */
38 layer_state_set_kb((layer_state_t)layer_state);
36} 39}