summaryrefslogtreecommitdiffstats
path: root/tmk_core/common/action_layer.h
diff options
context:
space:
mode:
authorChristopher Browne <cbbrowne@ca.afilias.info>2016-04-13 12:02:51 -0400
committerChristopher Browne <cbbrowne@ca.afilias.info>2016-04-13 12:02:51 -0400
commit6ec6b613536b7138ee0c87002b10da8fe0c0117d (patch)
tree9bd7d842cb99a84ab6ae96b3437c39e41f9608d9 /tmk_core/common/action_layer.h
parent5bbcc484a8e14ffb13354df4efdd460ebe7200e1 (diff)
parenta0194d7e5ff2f3d242a5c6508abf81b4ddf67a3e (diff)
Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware
Diffstat (limited to 'tmk_core/common/action_layer.h')
-rw-r--r--tmk_core/common/action_layer.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/tmk_core/common/action_layer.h b/tmk_core/common/action_layer.h
index b6da353cfd..3a4b1e3349 100644
--- a/tmk_core/common/action_layer.h
+++ b/tmk_core/common/action_layer.h
@@ -70,6 +70,17 @@ void layer_xor(uint32_t state);
#define layer_debug()
#endif
+/* pressed actions cache */
+#if !defined(NO_ACTION_LAYER) && defined(PREVENT_STUCK_MODIFIERS)
+/* The number of bits needed to represent the layer number: log2(32). */
+#define MAX_LAYER_BITS 5
+void update_source_layers_cache(keypos_t key, uint8_t layer);
+uint8_t read_source_layers_cache(keypos_t key);
+#endif
+action_t store_or_get_action(bool pressed, keypos_t key);
+
+/* return the topmost non-transparent layer currently associated with key */
+int8_t layer_switch_get_layer(keypos_t key);
/* return action depending on current layer status */
action_t layer_switch_get_action(keypos_t key);