summaryrefslogtreecommitdiff
path: root/quantum/quantum.c
diff options
context:
space:
mode:
authorDrashna Jaelre <drashna@live.com>2023-02-11 15:23:07 -0800
committerGitHub <noreply@github.com>2023-02-12 10:23:07 +1100
commitfe02abc47921428fe6eb59ca817bfd082f0de4bf (patch)
tree5bc3f68ec782969cfed93660c21704df4b530823 /quantum/quantum.c
parent40028437971fbca33f49e1d0b683b3b6e2dc9a61 (diff)
[Core] Tri Layer Keys (#19795)
Co-authored-by: wilba <wilba@wilba.tech> Co-authored-by: Pablo Martínez <58857054+elpekenin@users.noreply.github.com> Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
Diffstat (limited to 'quantum/quantum.c')
-rw-r--r--quantum/quantum.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/quantum/quantum.c b/quantum/quantum.c
index 5554ecab32..0587f215fe 100644
--- a/quantum/quantum.c
+++ b/quantum/quantum.c
@@ -343,6 +343,9 @@ bool process_record_quantum(keyrecord_t *record) {
#ifdef AUTOCORRECT_ENABLE
process_autocorrect(keycode, record) &&
#endif
+#ifdef TRI_LAYER_ENABLE
+ process_tri_layer(keycode, record) &&
+#endif
true)) {
return false;
}
@@ -443,16 +446,6 @@ void set_single_persistent_default_layer(uint8_t default_layer) {
default_layer_set((layer_state_t)1 << default_layer);
}
-layer_state_t update_tri_layer_state(layer_state_t state, uint8_t layer1, uint8_t layer2, uint8_t layer3) {
- layer_state_t mask12 = ((layer_state_t)1 << layer1) | ((layer_state_t)1 << layer2);
- layer_state_t mask3 = (layer_state_t)1 << layer3;
- return (state & mask12) == mask12 ? (state | mask3) : (state & ~mask3);
-}
-
-void update_tri_layer(uint8_t layer1, uint8_t layer2, uint8_t layer3) {
- layer_state_set(update_tri_layer_state(layer_state, layer1, layer2, layer3));
-}
-
//------------------------------------------------------------------------------
// Override these functions in your keymap file to play different tunes on
// different events such as startup and bootloader jump