~ruther/qmk_firmware

1caedd10c45adef49724f5aa0967e23286f4dd38 — Drashna Jaelre 2 years ago 0922285
Don't clear keys on layer change unless STRICT_LAYER_RELEASE is enabled (#18577)

* Don't clear mousekeys unless clearing keys

* Revert "Don't clear mousekeys unless clearing keys"

This reverts commit 29a0c06b547d72b80d416a8b6fab478c77fbd247.

* Just don't clear anything on layer set

* Fix lint

* Enable test?
2 files changed, 4 insertions(+), 5 deletions(-)

M quantum/action_layer.c
M tests/basic/test_action_layer.cpp
M quantum/action_layer.c => quantum/action_layer.c +4 -4
@@ 45,9 45,9 @@ static void default_layer_state_set(layer_state_t state) {
    default_layer_state = state;
    default_layer_debug();
    debug("\n");
#ifdef STRICT_LAYER_RELEASE
#if defined(STRICT_LAYER_RELEASE)
    clear_keyboard_but_mods(); // To avoid stuck keys
#else
#elif defined(SEMI_STRICT_LAYER_RELEASE)
    clear_keyboard_but_mods_and_keys(); // Don't reset held keys
#endif
}


@@ 125,9 125,9 @@ void layer_state_set(layer_state_t state) {
    layer_state = state;
    layer_debug();
    dprintln();
#    ifdef STRICT_LAYER_RELEASE
#    if defined(STRICT_LAYER_RELEASE)
    clear_keyboard_but_mods(); // To avoid stuck keys
#    else
#    elif defined(SEMI_STRICT_LAYER_RELEASE)
    clear_keyboard_but_mods_and_keys(); // Don't reset held keys
#    endif
}

M tests/basic/test_action_layer.cpp => tests/basic/test_action_layer.cpp +0 -1
@@ 360,7 360,6 @@ TEST_F(ActionLayer, LayerTapToggleWithToggleWithKeypress) {
}

TEST_F(ActionLayer, LayerTapReleasedBeforeKeypressReleaseWithModifiers) {
    GTEST_SKIP() << "TODO: Modifiers are erroneously discarded on layer changes, although a key that introduced the modifier is still held.";
    TestDriver driver;
    InSequence s;