#[SOLVED] Sticky shift and layer toggle on one key?

1 messages · Page 1 of 1 (latest)

half warren
#

On tap, I'd like to have sticky shift, and on hold, I'd like to have a layer activated.

I use this paradigm currently with non-sticky keys like this &lt 3 SPACE .
I have a sticky key behavior like so:

    skq: skq {
            compatible = "zmk,behavior-sticky-key";
            label = "sticky_key_quick_release";
            #binding-cells = <1>;
            bindings = <&kp>;
            release-after-ms = <1000>;
            quick-release;
            ignore-modifiers;
        };

where it is used like so, &skq LSHIFT.

I would like something like &lt 3 &skq LSHIFT

Is this possible?

elder dawn
#

I do something similar, with mo rather than lt

#
    behaviors {
        mo_ss: behavior_mo_ss {
            compatible = "zmk,behavior-hold-tap";
            label = "mo_ss";
            #binding-cells = <2>;
            flavor = "hold-preferred";
            tapping-term-ms = <150>;
            bindings = <&mo>, <&sk>;
        };
    };
};```
#

usage is like: &mo_ss 3 LSHFT

half warren
#

so, i can create a second custom lt_ss, and inside it, reference my skq

elder dawn
#

on tap I have sticky shift, on hold I enable my lower layer

#

yeah, you can name it however you want, I used ss for sticky shift

half warren
#

oh, I see. Is there any functional difference here between lt and mo?

covert cedar
#

lt is just a hold tap with mo and kp bindings

elder dawn
#

yes, on release you go to the default layer again, which IMO is probably what you want

#

forget what I said, the comment above me is correct

half warren
#

thanks for the help everyone! Here is my final config:

        skq: skq {
            compatible = "zmk,behavior-sticky-key";
            label = "sticky_key_quick_release";
            #binding-cells = <1>;
            bindings = <&kp>;

            release-after-ms = <1000>;
            quick-release;
            ignore-modifiers;
        };

        mo_ss: behavior_mo_ss {
            compatible = "zmk,behavior-hold-tap";
            label = "mo_ss";
            #binding-cells = <2>;
            bindings = <&mo>, <&skq>;

            tapping-term-ms = <200>;
            flavor = "tap-preferred";
        };
half warren
#

What do I do to indicate that this question has been solved?

covert cedar
#

I think the pattern is to edit the title and add [Solved] to the beginning 🤷‍♂️

half warren
#

[solved] Sticky shift and layer toggle on one key?