From d369bfb83a74d94ed0fbb13f8ee3a8a1146da770 Mon Sep 17 00:00:00 2001
From: Priyadi Iman Nurcahyo
Date: Wed, 15 Feb 2017 05:02:15 +0700
Subject: Add layer_state_set_kb hook
---
tmk_core/common/action_layer.c | 6 ++++++
tmk_core/common/action_layer.h | 2 ++
2 files changed, 8 insertions(+)
(limited to 'tmk_core')
diff --git a/tmk_core/common/action_layer.c b/tmk_core/common/action_layer.c
index a3c7579642..3363a2e532 100644
--- a/tmk_core/common/action_layer.c
+++ b/tmk_core/common/action_layer.c
@@ -57,8 +57,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..fc714700da 100644
--- a/tmk_core/common/action_layer.h
+++ b/tmk_core/common/action_layer.h
@@ -69,6 +69,8 @@ void layer_xor(uint32_t state);
#define layer_xor(state)
#define layer_debug()
+__attribute__((weak))
+void layer_state_set_kb(uint32_t oldstate, uint32_t newstate);
#endif
/* pressed actions cache */
--
cgit v1.2.3
From d96175937bfa9f700d9ee54c20e5d963c12d02df Mon Sep 17 00:00:00 2001
From: Priyadi Iman Nurcahyo
Date: Wed, 15 Feb 2017 05:19:31 +0700
Subject: Bug fix & added default_layer_state_set_kb
---
tmk_core/common/action_layer.c | 6 ++++++
tmk_core/common/action_layer.h | 7 +++++--
2 files changed, 11 insertions(+), 2 deletions(-)
(limited to 'tmk_core')
diff --git a/tmk_core/common/action_layer.c b/tmk_core/common/action_layer.c
index 3363a2e532..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;
diff --git a/tmk_core/common/action_layer.h b/tmk_core/common/action_layer.h
index fc714700da..785bb5be44 100644
--- a/tmk_core/common/action_layer.h
+++ b/tmk_core/common/action_layer.h
@@ -27,7 +27,10 @@ along with this program. If not, see .
*/
extern uint32_t default_layer_state;
void default_layer_debug(void);
-void default_layer_set(uint32_t state);
+uint32_t default_layer_set(uint32_t state);
+
+__attribute__((weak))
+void default_layer_state_set_kb(uint32_t state);
#ifndef NO_ACTION_LAYER
/* bitwise operation */
@@ -70,7 +73,7 @@ void layer_xor(uint32_t state);
#define layer_debug()
__attribute__((weak))
-void layer_state_set_kb(uint32_t oldstate, uint32_t newstate);
+uint32_t layer_state_set_kb(uint32_t state);
#endif
/* pressed actions cache */
--
cgit v1.2.3
From bd8d717f1ff2eef42dfef490374a8cee61be5d87 Mon Sep 17 00:00:00 2001
From: Priyadi Iman Nurcahyo
Date: Wed, 15 Feb 2017 05:25:08 +0700
Subject: Fix bug fix attempt
---
tmk_core/common/action_layer.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
(limited to 'tmk_core')
diff --git a/tmk_core/common/action_layer.h b/tmk_core/common/action_layer.h
index 785bb5be44..d89ed6e5ce 100644
--- a/tmk_core/common/action_layer.h
+++ b/tmk_core/common/action_layer.h
@@ -27,10 +27,10 @@ along with this program. If not, see .
*/
extern uint32_t default_layer_state;
void default_layer_debug(void);
-uint32_t default_layer_set(uint32_t state);
+void default_layer_set(uint32_t state);
__attribute__((weak))
-void default_layer_state_set_kb(uint32_t state);
+uint32_t default_layer_state_set_kb(uint32_t state);
#ifndef NO_ACTION_LAYER
/* bitwise operation */
--
cgit v1.2.3