From 06e3b2d0da74771972e4ec055742922a5683b842 Mon Sep 17 00:00:00 2001 From: Kabbone Date: Sat, 12 Mar 2022 15:48:07 +0100 Subject: [PATCH] add sticky and return layers --- config/cradio.keymap | 119 ++++++++++++++++++++++++++++++++----------- 1 file changed, 90 insertions(+), 29 deletions(-) diff --git a/config/cradio.keymap b/config/cradio.keymap index 2ddf01b..529cc34 100644 --- a/config/cradio.keymap +++ b/config/cradio.keymap @@ -13,21 +13,46 @@ flavor = "tap-preferred"; tapping_term_ms = <200>; }; +&sk { + quick-release; + release-after-ms = <2000>; +}; +/* Layers */ +#define ALPH 0 +#define SYM 1 +#define NUM 2 +#define SYS 3 +#define BT 4 +#define GAME 5 / { combos { compatible = "zmk,combos"; - combo_esc { - timeout-ms = <100>; - key-positions = <2 3>; - bindings = <&kp ESC>; + + combo_game { + timeout-ms = <30>; + key-positions = <0 1 2 3>; + bindings = <&to GAME>; + }; + + combo_sys { + timeout-ms = <30>; + key-positions = <6 7 8>; + bindings = <&to SYS>; + }; + + combo_bt { + timeout-ms = <10>; + key-positions = <13 14>; + bindings = <&to BT>; + layers = ; }; combo_term { timeout-ms = <50>; key-positions = <30 33>; - bindings = <&kp LGUI &kp ENTER>; + bindings = <&kp LG(ENTER)>; }; combo_lenter { @@ -49,7 +74,6 @@ }; - }; behaviours { @@ -62,46 +86,83 @@ flavor = "tap-preferred"; bindings = <&kp>, <&kp>; }; + hl: homerow_layers { + compatible = "zmk,behavior-hold-tap"; + label = "HOMEROW_LAYERS"; + #binding-cells = <2>; + tapping-term-ms = <220>; + quick_tap_ms = <0>; + flavor = "tap-preferred"; + bindings = <&sl>, <&kp>; + }; + sr: shift_layer { + compatible = "zmk,behavior-hold-tap"; + label = "SHIFT_LAYER"; + #binding-cells = <2>; + tapping-term-ms = <300>; + quick_tap_ms = <0>; + flavor = "tap-preferred"; + bindings = <&kp>, <&to>; + retro-tap; + }; }; keymap { compatible = "zmk,keymap"; - default_layer { + alpha1 { bindings = < &hm ESC Q &kp W &kp F &kp P &kp G &kp J &kp L &kp U &kp Y &kp BSPC - &hm TAB A &kp R &kp S &kp T &kp D &kp H &kp N &kp E &kp I &hm ENTER O - &hm LGUI Z &kp X &kp C &kp V &kp B &kp K &hm COLON M &hm MINUS COMMA &hm EXCL DOT &hm UNDER SLASH - &hm LALT SPACE &kp LSHIFT &to 1 &hm RCTRL SPACE + &hl NUM A &kp R &kp S &kp T &kp D &kp H &kp N &kp E &kp I &hm ENTER O + &hl SYS Z &kp X &kp C &kp V &kp B &kp K &hm COLON M &hm MINUS COMMA &hm EXCL DOT &hm UNDER SLASH + &hl SYM SPACE &sk LSHIFT &to SYM &hm RCTRL SPACE >; }; - left_layer { + sym1 { bindings = < - &kp ESC &kp AT &kp HASH &kp DOLLAR &kp PERCENT &kp CARET &kp AMPS &kp STAR &hm COLON SEMI &trans - &kp TAB &hm PLUS EQUAL &kp QMARK &kp PIPE2 &kp SQT &hm HOME BSLH &kp LBRC &kp RBRC &hm END PIPE &kp ENTER - &kp TILDE &kp RA(E) &kp LT &kp GT &kp DQT &kp LBKT &kp LPAR &kp RPAR &kp RBKT &to 2 - &kp LSHIFT &to 0 &to 3 &kp RGUI + &kp ESC &kp AT &kp HASH &kp DOLLAR &kp PERCENT &kp CARET &kp AMPS &kp STAR &hm COLON SEMI &trans + &kp TAB &hm PLUS EQUAL &kp QMARK &kp PIPE2 &kp SQT &hm HOME BSLH &kp LBRC &kp RBRC &hm END PIPE &kp ENTER + &kp TILDE &kp SLASH &kp LT &kp GT &kp DQT &kp LBKT &kp LPAR &kp RPAR &kp RBKT &to NUM + &kp LSHIFT &to ALPH &to SYS &kp RGUI >; }; - right_layer { + num1 { bindings = < - &kp ESC &none &none &none &none &kp C_AC_BACK &none &none &kp C_AC_FORWARD &trans - &kp TAB &none &none &none &kp DEL &kp LEFT &kp DOWN &kp UP &kp RIGHT &kp ENTER - &kp LSFT &kp KPLS &kp LBKT &kp RBKT &kp BSLH &none &none &none &none &none - &mt LGUI LCTL &to 0 &to 1 &kp RALT - >; - }; - - tri_layer { - bindings = < - &kp ESC &kp C_PLAY_PAUSE &kp C_PREV &kp C_NEXT &kp UNDER &kp MINUS &kp NUM_7 &kp NUM_8 &kp NUM_9 &trans - &kp TAB &kp SLASH &kp C_VOL_UP &kp C_VOL_DN &kp PLUS &kp EQUAL &kp NUM_4 &kp NUM_5 &kp NUM_6 &kp ENTER - &bt BT_CLR &bt BT_NXT &bt BT_PRV &bt BT_SEL 0 &kp DOT &kp NUM_0 &kp NUM_1 &kp NUM_2 &kp NUM_3 &to 2 - &trans &to 0 &to 1 &kp RALT + &kp ESC &kp C_PLAY_PAUSE &kp C_PREV &kp C_NEXT &kp UNDER &kp MINUS &kp NUM_7 &kp NUM_8 &kp NUM_9 &trans + &kp TAB &kp C_VOL_UP &kp C_VOL_DN &kp STAR &kp SLASH &kp PLUS &kp NUM_4 &kp NUM_5 &kp NUM_6 &kp ENTER + &bt BT_CLR &bt BT_NXT &bt BT_PRV &bt BT_SEL 0 &kp DOT &kp EQUAL &kp NUM_1 &kp NUM_2 &kp NUM_3 &to SYS + &trans &to ALPH &to SYM &kp NUM_0 >; }; + + sys { + bindings = < + &kp ESC &LG(NUM_1) &LG(NUM_2) &LG(NUM_3) &LG(NUM_4) &LG(NUM_5) &td LC(V) LC(C) &kp UP &none &td Q BSPC + &kp TAB &kp LG(Q) &td LG(E) LG(W) &kp LG(F) &kp DEL &kp RC(TAB) &kp LEFT &kp DOWN &kp RIGHT &kp ENTER + &kp LALT &td HOME DEL &kp END &kp LG(D) &kp LG(ENTER) &none &kp PGUP &kp PGDOWN &none &none + &trans &to ALPH &to SYM &kp RALT + >; + }; + + bluetooth { + bindings = < + &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &none &none &none &none &none + &none &none &none &none &none &none &none &none &none &none + &bt BT_CLR &bt BT_NXT &bt BT_PRV &bt BT_SEL 0 &none &none &none &none &none &none + &none &to ALPH &to SYM &none + >; + }; + + gaming { + bindings = < + &kp Q &kp W &kp E &kp R &kp NUM_1 &none &none &none &none &none + &kp A &kp S &kp D &kp F &kp NUM_2 &none &none &none &none &none + &kp Z &kp X &kp C &kp V &kp NUM_3 &none &none &none &none &none + &none &to ALPH &to SYM &none + >; + }; }; };