From 2498833488ec0417f4b8bab38a8c5c8d5ead49e7 Mon Sep 17 00:00:00 2001 From: Stefan Dorn Date: Tue, 14 Jun 2016 11:45:57 +0100 Subject: [PATCH] sticky cleanup --- src/main.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/src/main.c b/src/main.c index 92f78c3..ff5d467 100644 --- a/src/main.c +++ b/src/main.c @@ -229,7 +229,7 @@ void layer_enable_upto(layer max_layer) { // ---------------------------------------------------------------------------- void init_sticky() { - for (layer l=0; l < KB_LAYERS; l++) { + for (layer l=1; l < KB_LAYERS; l++) { layer_sticky[l] = false; } for (keycode mod=0; mod < MODIFIERS; mod++) { @@ -240,16 +240,14 @@ void init_sticky() { } void sticky_disable() { - for (layer l = 1; l < KB_LAYERS; l++) { + for (layer l=1; l < KB_LAYERS; l++) { if (layer_sticky[l]) { layer_disable(l); layer_sticky[l] = false; - debug_printf("sticky %d up\n", l); } } if (modifier_sticky) { - debug_printf("mod %d up\n", modifier_sticky); keyboard_modifier_keys &= ~modifier_sticky; modifier_sticky = 0; } @@ -374,6 +372,7 @@ void kbfun_layer_disable() { // letting go off a key releases *all* layers on that key for (layer l=0; l <= KB_LAYERS; l++) { + // FIXME this is broken with sticky void (*key_function)(void) = kb_keyfunc_release(l, current_row, current_col); if (is_layer_disable(key_function)) { @@ -390,16 +389,13 @@ void kbfun_layer_sticky() { if (current_is_pressed) { layer_enable(l); sticky_done = false; - debug_printf("sticky %d down\n", l); } else { if (sticky_done) { layer_disable(l); - debug_printf("sticky %d up and done\n", l); } else { layer_sticky[l] = true; sticky_on = true; sticky_done = false; - debug_printf("sticky %d up, but still on\n", l); } } } @@ -413,16 +409,13 @@ void kbfun_modifier_sticky() { if (current_is_pressed) { kbfun_modifier_press_release(); sticky_done = false; - debug_printf("mod %d down\n", mod); } else { if (sticky_done) { kbfun_modifier_press_release(); - debug_printf("mod %d up and done\n", mod); } else { modifier_sticky |= 1<