aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack Humbert <jack.humb@gmail.com>2017-02-14 21:33:04 -0500
committerGitHub <noreply@github.com>2017-02-14 21:33:04 -0500
commit7bef285553dee01bbcb1eaadefbfb39ed75baea4 (patch)
treedb88439016027f630fc82c5876a8f3248b5d3d27
parentfd2925efbac0d7963f3d267dd5264f08a0a4e9dc (diff)
parentbd8d717f1ff2eef42dfef490374a8cee61be5d87 (diff)
downloadqmk_firmware-7bef285553dee01bbcb1eaadefbfb39ed75baea4.tar.gz
qmk_firmware-7bef285553dee01bbcb1eaadefbfb39ed75baea4.zip
Merge pull request #1101 from priyadi/layer_state_set_kb
Add weak layer_state_set_kb hook
-rw-r--r--tmk_core/common/action_layer.c12
-rw-r--r--tmk_core/common/action_layer.h5
2 files changed, 17 insertions, 0 deletions
diff --git a/tmk_core/common/action_layer.c b/tmk_core/common/action_layer.c
index a3c757964..58d919a04 100644
--- a/tmk_core/common/action_layer.c
+++ b/tmk_core/common/action_layer.c
@@ -16,8 +16,14 @@
16 */ 16 */
17uint32_t default_layer_state = 0; 17uint32_t default_layer_state = 0;
18 18
19__attribute__((weak))
20uint32_t default_layer_state_set_kb(uint32_t state) {
21 return state;
22}
23
19static void default_layer_state_set(uint32_t state) 24static void default_layer_state_set(uint32_t state)
20{ 25{
26 state = default_layer_state_set_kb(state);
21 debug("default_layer_state: "); 27 debug("default_layer_state: ");
22 default_layer_debug(); debug(" to "); 28 default_layer_debug(); debug(" to ");
23 default_layer_state = state; 29 default_layer_state = state;
@@ -57,8 +63,14 @@ void default_layer_xor(uint32_t state)
57 */ 63 */
58uint32_t layer_state = 0; 64uint32_t layer_state = 0;
59 65
66__attribute__((weak))
67uint32_t layer_state_set_kb(uint32_t state) {
68 return state;
69}
70
60static void layer_state_set(uint32_t state) 71static void layer_state_set(uint32_t state)
61{ 72{
73 state = layer_state_set_kb(state);
62 dprint("layer_state: "); 74 dprint("layer_state: ");
63 layer_debug(); dprint(" to "); 75 layer_debug(); dprint(" to ");
64 layer_state = state; 76 layer_state = state;
diff --git a/tmk_core/common/action_layer.h b/tmk_core/common/action_layer.h
index 025cf5420..d89ed6e5c 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;
29void default_layer_debug(void); 29void default_layer_debug(void);
30void default_layer_set(uint32_t state); 30void default_layer_set(uint32_t state);
31 31
32__attribute__((weak))
33uint32_t default_layer_state_set_kb(uint32_t state);
34
32#ifndef NO_ACTION_LAYER 35#ifndef NO_ACTION_LAYER
33/* bitwise operation */ 36/* bitwise operation */
34void default_layer_or(uint32_t state); 37void default_layer_or(uint32_t state);
@@ -69,6 +72,8 @@ void layer_xor(uint32_t state);
69#define layer_xor(state) 72#define layer_xor(state)
70#define layer_debug() 73#define layer_debug()
71 74
75__attribute__((weak))
76uint32_t layer_state_set_kb(uint32_t state);
72#endif 77#endif
73 78
74/* pressed actions cache */ 79/* pressed actions cache */