From 27b0698d6218c62d364f50a43115a5aafcd1daca Mon Sep 17 00:00:00 2001 From: Rutherther Date: Fri, 6 Jun 2025 15:19:33 +0200 Subject: [PATCH] feat: import most from qmk config --- config/cradio.keymap | 171 ++++++++++++++++++++++++++++++++++++------- 1 file changed, 145 insertions(+), 26 deletions(-) diff --git a/config/cradio.keymap b/config/cradio.keymap index ab952fb84626905d13b715ebd537ab4a3fca5d10..61adde182a2f7badd1c5fc5846acd333ee54bad7 100644 --- a/config/cradio.keymap +++ b/config/cradio.keymap @@ -6,11 +6,20 @@ #include // Home row mods macro -#define HRML(k1,k2,k3,k4) &ht LSHFT k1 &ht LALT k2 &ht LCTRL k3 &ht LGUI k4 -#define HRMR(k1,k2,k3,k4) &ht RGUI k1 &ht RCTRL k2 &ht RALT k3 &ht RSHFT k4 +#define HRML(k1,k2,k3,k4) &hltl 1 k1 &hml LALT k2 &hml LSHFT k3 &hml LCTRL k4 +#define HRMR(k1,k2,k3,k4) &hmr RCTRL k1 &hmr RSHFT k2 &hmr LALT k3 &hltr 1 k4 + +#define RIGHT_KEYS 5 6 7 8 9 15 16 17 18 19 25 26 27 28 29 32 33 +#define LEFT_KEYS 0 1 2 3 4 10 11 12 13 14 20 21 22 23 24 30 31 / { behaviors { + prog_caps: prog_caps { + compatible = "zmk,behavior-caps-word"; + #binding-cells = <0>; + continue-list = ; + }; + ht: hold_tap { compatible = "zmk,behavior-hold-tap"; #binding-cells = <2>; @@ -20,13 +29,91 @@ require-prior-idle-ms = <100>; bindings = <&kp>, <&kp>; }; + + hltl: home_row_layer_toggle_l { + compatible = "zmk,behavior-hold-tap"; + #binding-cells = <2>; + flavor = "balanced"; + require-prior-idle-ms = <100>; + tapping-term-ms = <170>; + quick-tap-ms = <100>; + bindings = <&mo>, <&kp>; + hold-trigger-key-positions = ; + hold-trigger-on-release; + }; + + hltr: home_row_layer_toggle_r { + compatible = "zmk,behavior-hold-tap"; + #binding-cells = <2>; + flavor = "balanced"; + require-prior-idle-ms = <100>; + tapping-term-ms = <170>; + quick-tap-ms = <100>; + bindings = <&mo>, <&kp>; + hold-trigger-key-positions = ; + hold-trigger-on-release; + }; + + hml: home_row_mod_left { + compatible = "zmk,behavior-hold-tap"; + #binding-cells = <2>; + flavor = "balanced"; + require-prior-idle-ms = <100>; + tapping-term-ms = <170>; + quick-tap-ms = <100>; + bindings = <&kp>, <&kp>; + hold-trigger-key-positions = ; + hold-trigger-on-release; + }; + hmr: home_row_mod_right { + compatible = "zmk,behavior-hold-tap"; + #binding-cells = <2>; + flavor = "balanced"; + require-prior-idle-ms = <100>; + tapping-term-ms = <170>; + quick-tap-ms = <100>; + bindings = <&kp>, <&kp>; + hold-trigger-key-positions = ; + hold-trigger-on-release; + }; + + comma_excl: mod_morph_comma { + compatible = "zmk,behavior-mod-morph"; + #binding-cells = <0>; + bindings = <&kp COMMA>, <&kp EXCL>; + mods = <(MOD_LSFT|MOD_RSFT)>; + }; + + dot_ques: mod_morph_dot { + compatible = "zmk,behavior-mod-morph"; + #binding-cells = <0>; + bindings = <&kp DOT>, <&kp QMARK>; + mods = <(MOD_LSFT|MOD_RSFT)>; + }; + }; + + combos { + compatible = "zmk,combos"; + combo_tab { + timeout-ms = <20>; + key-positions = <1 2>; + bindings = <&kp TAB>; + layers = <0>; + }; + + combo_caps_word { + timeout-ms = <100>; + key-positions = <12 17>; + bindings = <&prog_caps>; + layers = <0>; + }; }; conditional_layers { compatible = "zmk,conditional-layers"; - tri_layer { - if-layers = <1 2>; - then-layer = <3>; + ctrl_layer { + if-layers = <2 3>; + then-layer = <4>; }; }; @@ -36,54 +123,71 @@ bindings = < //╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮ //│ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │ - &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P + &hml LGUI Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &hmr RGUI P //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ //│ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ ' " │ - HRML(A, S, D, F) &kp G &kp H HRMR(J, K, L, SQT) + HRML(A, S, D, F) &kp G &kp H HRMR(J, K, L, SEMI) //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ //│ Z │ X │ C │ V │ B │ │ N │ M │ , < │ . > │ / ? │ - &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH + &kp Z &kp X &kp C &kp V &kp B &kp N &hltr 5 M &comma_excl &dot_ques &kp FSLH //╰──────────┴──────────┴──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┴──────────┴──────────╯ - < 2 TAB &kp ENTER &kp SPACE < 1 BSPC + < 3 ESC < 2 SPACE &kp ENTER &kp BSPC // ╰──────────┴──────────╯ ╰──────────┴──────────╯ >; }; - right_layer { + sym_layer { bindings = < //╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮ - //│ INSERT │ 1 │ 2 │ 3 │ │ │ HOME │ PAGE DN │ PAGE UP │ END │ : │ - &kp INS &kp N1 &kp N2 &kp N3 &trans &kp HOME &kp PG_DN &kp PG_UP &kp END &kp COLON + //│ ' │ < │ > │ \ │ ` │ │ & │ _ │ [ │ ] │ % │ + &kp SQT &kp LT &kp GT &kp BSLH &kp GRAVE &kp AMPS &kp UNDER &kp LBKT &kp RBKT &kp PRCNT //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ - //│ DELETE │ 4 │ 5 │ 6 │ │ │ LEFT │ DOWN │ UP │ RIGHT │ ; │ - &kp DEL &kp N4 &kp N5 &kp N6 &trans &kp LEFT &kp DOWN &kp UP &kp RIGHT &kp SEMI + //│ ! │ - │ + │ = │ # │ │ | │ ~ │ ( │ ) │ " │ + &kp EXCL &kp MINUS &kp PLUS &kp EQUAL &kp HASH &kp PIPE &kp TILDE &kp LPAR &kp RPAR &kp DQT //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ - //│ CAPS │ 7 │ 8 │ 9 │ 0 │ │ │ │ │ │ │ - &caps_word &kp N7 &kp N8 &kp N9 &kp N0 &trans &trans &trans &trans &trans + //│ : │ / │ * │ ^ │ │ │ & │ $ │ { │ } │ @ │ + &kp COLON &kp FSLH &kp ASTRK &kp CARET &trans &kp AMPS &kp DLLR &kp LBRC &kp RBRC &kp AT //╰──────────┴──────────┴──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┴──────────┴──────────╯ - &trans &kp ESC &trans &trans + &trans &trans &trans &kp DEL // ╰──────────┴──────────╯ ╰──────────┴──────────╯ >; }; - left_layer { + num_layer { bindings = < //╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮ - //│ │ [ │ { │ } │ │ │ ^ │ ( │ ) │ ] │ ~ │ - &trans &kp LBKT &kp LBRC &kp RBRC &trans &kp CARET &kp LPAR &kp RPAR &kp RBKT &kp TILDE + //│ │ │ │ │ │ │ HOME │ PAGE DN │ PAGE UP │ END │ : │ + &trans &trans &trans &trans &trans &trans &kp N8 &kp N9 &kp N4 &trans //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ - //│ ! │ @ │ # │ $ │ % │ │ * │ - │ = │ \ │ ` │ - &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp ASTRK &kp MINUS &kp EQUAL &kp BSLH &kp GRAVE + //│ │ │ │ │ │ │ LEFT │ DOWN │ UP │ RIGHT │ ; │ + &trans &trans &trans &trans &trans &trans &kp N1 &kp N2 &kp N3 &trans //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ - //│ │ │ │ │ │ │ & │ _ │ + │ │ │ │ - &trans &trans &trans &trans &trans &kp AMPS &kp UNDER &kp PLUS &kp PIPE &trans + //│ CAPS │ │ │ │ │ │ │ │ │ │ │ + &caps_word &trans &trans &trans &trans &trans &kp N7 &kp N6 &kp N5 &trans + //╰──────────┴──────────┴──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┴──────────┴──────────╯ + &trans &kp ESC &kp N0 &trans + // ╰──────────┴──────────╯ ╰──────────┴──────────╯ + >; + }; + + nav_layer { + bindings = < + //╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮ + //│ INSERT │ 1 │ 2 │ 3 │ │ │ HOME │ PAGE DN │ PAGE UP │ END │ │ + &trans &trans &trans &trans &trans &kp HOME &kp PG_DN &kp PG_UP &kp END &kp INS + //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ + //│ DELETE │ 4 │ 5 │ 6 │ │ │ LEFT │ DOWN │ UP │ RIGHT │ │ + &trans &trans &trans &trans &trans &kp LEFT &kp DOWN &kp UP &kp RIGHT &kp SEMI + //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ + //│ CAPS │ 7 │ 8 │ 9 │ 0 │ │ │ │ │ │ │ + &caps_word &trans &trans &trans &trans &trans &trans &trans &trans &kp PSCRN //╰──────────┴──────────┴──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┴──────────┴──────────╯ &trans &trans &trans &trans // ╰──────────┴──────────╯ ╰──────────┴──────────╯ >; }; - tri_layer { + ctrl_layer { bindings = < //╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮ //│ RESET │ │ │ │PROFILE 0 │ │ │ │ │ │ RESET │ @@ -99,5 +203,20 @@ // ╰──────────┴──────────╯ ╰──────────┴──────────╯ >; }; + + wm_layer { + bindings = < + //╭──────────┬──────────┬──────────┬──────────┬──────────╮ ╭──────────┬──────────┬──────────┬──────────┬──────────╮ + &kp LG(E) &kp LG(N4) &kp LG(N9) &kp LG(N8) &trans &trans &trans &trans &trans &trans + //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ + &kp LG(W) &kp LG(N3) &kp LG(N2) &kp LG(N1) &trans &trans &trans &trans &trans &trans + //├──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┤ + &kp LG(R) &kp LG(N5) &kp LG(N6) &kp LG(N7) &trans &trans &trans &trans &trans &trans + //╰──────────┴──────────┴──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┴──────────┴──────────╯ + &trans &trans &trans &trans + // ╰──────────┴──────────╯ ╰──────────┴──────────╯ + >; + }; + }; -}; +}; \ No newline at end of file