~ruther/zmk-config

27b0698d6218c62d364f50a43115a5aafcd1daca — Rutherther a month ago d665343
feat: import most from qmk config
1 files changed, 145 insertions(+), 26 deletions(-)

M config/cradio.keymap
M config/cradio.keymap => config/cradio.keymap +145 -26
@@ 6,11 6,20 @@
#include <dt-bindings/zmk/bt.h>

// 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 = <UNDERSCORE MINUS>;
        };

        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 = <RIGHT_KEYS>;
            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 = <LEFT_KEYS>;
            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 = <RIGHT_KEYS>;
            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 = <LEFT_KEYS>;
            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
        //╰──────────┴──────────┴──────────┼──────────┼──────────┤   ├──────────┼──────────┼──────────┴──────────┴──────────╯
                                            &lt 2 TAB   &kp ENTER     &kp SPACE  &lt 1 BSPC
                                            &lt 3 ESC &lt 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

Do not follow this link