diff --git a/config/boards/shields/hummingbird/hummingbird.keymap b/config/boards/shields/hummingbird/hummingbird.keymap index 1667199..34fcddc 100644 --- a/config/boards/shields/hummingbird/hummingbird.keymap +++ b/config/boards/shields/hummingbird/hummingbird.keymap @@ -24,37 +24,38 @@ }; / { - behaviors { - // A hold-tap that activates without delay (like `&mo`) - mo_tap: mo_with_tap { - compatible = "zmk,behavior-hold-tap"; - label = "MO_WITH_TAP"; - #binding-cells = <2>; - tapping_term_ms = <0>; - retro-tap; - flavor = "hold-preferred"; - bindings = <&mo>, <&kp>; - }; - - #define MO(LAYER) &mo_tap LAYER F24 - - hm: homerow_mods { - compatible = "zmk,behavior-hold-tap"; - label = "HOMEROW_MODS"; - #binding-cells = <2>; - tapping-term-ms = <150>; - quick-tap-ms = <0>; - flavor = "tap-preferred"; - bindings = <&kp>, <&kp>; - }; - }; + ZMK_MACRO(mo_nav, + wait-ms = <0>; + tap-ms = <0>; + bindings + = <¯o_tap &kp K_CANCEL> + , <¯o_press &mo NAV_L> + , <¯o_pause_for_release> + , <¯o_release &mo NAV_L>;) + + ZMK_MACRO(mo_upp, + wait-ms = <0>; + tap-ms = <0>; + bindings + = <¯o_tap &kp K_CANCEL> + , <¯o_press &mo UPP_L> + , <¯o_pause_for_release> + , <¯o_release &mo UPP_L>;) + + ZMK_MACRO(mo_sym, + wait-ms = <0>; + tap-ms = <0>; + bindings + = <¯o_tap &kp K_CANCEL> + , <¯o_press &mo SYM_L> + , <¯o_pause_for_release> + , <¯o_release &mo SYM_L>;) combos { compatible = "zmk,combos"; - define COMBO(NAME, BINDINGS, KEYPOS, LAYERS) \ + #define COMBO(NAME, BINDINGS, KEYPOS, LAYERS) \ combo_##NAME { \ - timeout-ms = <50>; \ bindings = ; \ key-positions = ; \ layers = ; \ @@ -78,7 +79,7 @@ COMBO(upper_x, &kp LS(X), 23 24, UPP_L) COMBO(upper_z, &kp LS(Z), 24 25, UPP_L) COMBO(question_mark, &kp LS(FSLH), 20 21, UPP_L) - + /* Brackets */ COMBO(left_bracket, &kp LBKT, 1 11, DEF_L UPP_L SYM_L NUM_L) COMBO(right_bracket, &kp RBKT, 8 18, DEF_L UPP_L SYM_L NUM_L) @@ -89,22 +90,17 @@ /* Convenience */ COMBO(esc, &kp ESC, 3 4, DEF_L) - - #define MO(LAYER) &mo_tap LAYER F24 - - hm: homerow_mods { - compatible = "zmk,behavior-hold-tap"; - label = "HOMEROW_MODS"; - #binding-cells = <2>; - tapping-term-ms = <150>; - quick-tap-ms = <0>; - flavor = "tap-preferred"; - bindings = <&kp>, <&kp>; - }; COMBO(del, &kp DEL, 13 14, DEF_L) - COMBO(select_all, &kp LC(A), 5 6, NAV_L) + COMBO(select_all, &kp LC(A), 20 21, NAV_L) }; + conditional_layers { + compatible = "zmk,conditional-layers"; + tri_layer { + if-layers = ; + then-layer = ; + }; + }; keymap { compatible = "zmk,keymap"; @@ -114,11 +110,11 @@ // ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ &kp J &kp P &kp U &kp O &kp K &kp B &kp D &kp R &kp F &kp Q &kp W &kp I &kp E &kp A &kp DOT &kp G &kp T &kp N &kp S &kp H - &kp Y &kp QUOT &kp COMMA &kp M &kp L &kp C + &kp Y &kp QUOT &kp COMMA &kp M &kp L &kp C // ╰─────────────┴─────────────┴─────────────╮ ╭─────────────┴─────────────┴─────────────╯ - < NAV_L SPACE &kp TAB < SYM_L ENTER < NUM_L BSPC + &mo_nav &kp SPACE &mo_upp &mo_sym // ╰─────────────┴─────────────╯ ╰─────────────┴─────────────╯ - + >; }; @@ -126,11 +122,11 @@ label = "Nav"; bindings = < // ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ - &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp K_REDO &kp K_PASTE &kp K_COPY &kp K_CUT &kp K_UNDO - &sk LGUI &sk LALT &sk LCTRL &sk LSHFT &kp LC(Z) &kp CAPS &kp LARW &kp DARW &kp UARW &kp RARW - &kp LC(X) &kp LC(C) &kp LC(V) &kp HOME &kp PG_DN &kp PG_UP + &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp PG_UP &kp HOME &kp UARW &kp END &caps_word + &sk LGUI &sk LALT &sk LSHFT &sk LCTRL &kp LC(Z) &kp PG_DN &kp LARW &kp ENTER &kp RARW &kp ESC + &kp LC(X) &kp LC(C) &kp LC(V) &kp TAB &kp DARW &key_repeat // ╰─────────────┴─────────────┴─────────────╮ ╭─────────────┴─────────────┴─────────────╯ - &trans &trans &kp ENTER &kp BSPC + &trans &trans &kp BSPC &kp DEL // ╰─────────────┴─────────────╯ ╰─────────────┴─────────────╯ >; }; @@ -139,9 +135,9 @@ label = "Upp"; bindings = < // ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ - &kp LS(W) &kp LS(F) &kp LS(M) &kp LS(P) &kp LS(G) &kp LS(K) &kp LS(U) &kp LS(O) &kp LS(Y) &kp DQT - &kp LS(R) &kp LS(S) &kp LS(N) &kp LS(T) &kp LS(B) &kp LS(J) &kp LS(A) &kp LS(E) &kp LS(I) &kp LS(H) - &kp LS(C) &kp LS(L) &kp LS(D) &kp LS(X) &kp LT &kp GT + &kp LS(J) &kp LS(P) &kp LS(U) &kp LS(O) &kp LS(K) &kp LS(B) &kp LS(D) &kp LS(R) &kp LS(F) &kp LS(Q) + &kp LS(W) &kp LS(I) &kp LS(E) &kp LS(A) &kp LS(GT) &kp LS(G) &kp LS(T) &kp LS(N) &kp LS(S) &kp LS(H) + &kp LS(Y) &kp DQT &kp LT &kp LS(M) &kp LS(L) &kp LS(C) // ╰─────────────┴─────────────┴─────────────╮ ╭─────────────┴─────────────┴─────────────╯ &trans &kp LS(SPACE) &trans &trans // ╰─────────────┴─────────────╯ ╰─────────────┴─────────────╯ @@ -152,9 +148,9 @@ label = "Sym"; bindings = < // ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ - &kp COLON &kp AMPS &kp STAR &kp LPAR &kp PLUS &kp CARET &kp AMPS &kp SEMI &kp COLON &kp DQT - &kp TILDE &kp DLLR &kp PRCNT &kp CARET &kp PIPE &kp BSLH &sk LSHFT &sk LCTRL &sk LALT &sk LGUI - &kp EXCL &kp AT &kp POUND &kp PIPE &kp LT &kp GT + &kp EXCL &kp AT &kp POUND &kp DLLR &kp PRCNT &kp CARET &kp AMPS &kp SEMI &kp COLON &kp DQT + &kp MINUS &kp PLUS &kp EQUAL &kp ASTRK &kp FSLH &kp BSLH &sk LCTRL &sk LSHFT &sk LALT &sk LGUI + &kp TILDE &kp GRAVE &kp QMARK &kp PIPE &kp LT &kp GT // ╰─────────────┴─────────────┴─────────────╮ ╭─────────────┴─────────────┴─────────────╯ &trans &kp UNDER &trans &trans // ╰─────────────┴─────────────╯ ╰─────────────┴─────────────╯ @@ -165,13 +161,13 @@ label = "Num"; bindings = < // ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ ╭─────────────┬─────────────┬─────────────┬─────────────┬─────────────╮ - &kp SEMI &kp N7 &kp N4 &kp N3 &kp EQUAL &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 - &kp GRAVE &kp N2 &kp N1 &kp N0 &kp BSLH &kp F11 &sk LSHFT &sk LCTRL &sk LALT &sk LGUI + &none &kp N7 &kp N4 &kp N3 &none &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 + &kp MINUS &kp N2 &kp N1 &kp N0 &kp EQUAL &kp F11 &sk LCTRL &sk LSHFT &sk LALT &sk LGUI &kp N8 &kp N6 &kp N5 &kp F12 &kp COMMA &kp DOT // ╰─────────────┴─────────────┴─────────────╮ ╭─────────────┴─────────────┴─────────────╯ - &kp N9 &kp MINUS &trans &trans + &trans &kp N0 &trans &trans // ╰─────────────┴─────────────╯ ╰─────────────┴─────────────╯ >; }; }; -}; +}; \ No newline at end of file