zmk-config

ZMK config for my Sweep Ferris
Log | Files | Refs

sweep.keymap (3059B)


      1 // Copyright (c) 2022 The ZMK Contributors
      2 // SPDX-License-Identifier: MIT
      3 
      4 #include <behaviors.dtsi>
      5 #include <dt-bindings/zmk/keys.h>
      6 #include <dt-bindings/zmk/bt.h>
      7 
      8 // Home row mods macro
      9 #define HRML(k1,k2,k3,k4) &ht LSHFT k1  &ht LALT  k2  &ht LCTRL k3  &ht LGUI  k4
     10 #define HRMR(k1,k2,k3,k4) &ht RGUI  k1  &ht RCTRL k2  &ht RALT  k3  &ht RSHFT k4
     11 
     12 / {
     13     behaviors {
     14         ht: hold_tap {
     15             compatible = "zmk,behavior-hold-tap";
     16             #binding-cells = <2>;
     17             flavor = "tap-preferred";
     18             tapping-term-ms = <220>;
     19             quick-tap-ms = <150>;
     20             require-prior-idle-ms = <100>;
     21             bindings = <&kp>, <&kp>;
     22         };
     23     };
     24 
     25     conditional_layers {
     26         compatible = "zmk,conditional-layers";
     27         tri_layer {
     28             if-layers = <1 2>;
     29             then-layer = <3>;
     30         };
     31     };
     32 
     33     keymap {
     34         compatible = "zmk,keymap";
     35         default_layer {
     36             bindings = <
     37             &kp Q      &kp D      &kp R      &kp W      &kp B          &kp J      &kp F      &kp U      &kp P      &kp SEMI
     38             HRML(A,        S,         H,         T)     &kp G          &kp Y      HRMR(N,        E,         O,         I)
     39             &kp Z      &kp X      &kp M      &kp C      &kp V          &kp K      &kp L      &kp COMMA  &kp DOT    &kp FSLH
     40                                              &lt 2 TAB  &kp ENTER      &kp SPACE  &lt 1 BSPC
     41             >;
     42         };
     43 
     44         right_layer {
     45             bindings = <
     46             &kp INS    &kp N7     &kp N8     &kp N9     &kp HOME       &kp PG_UP  &trans     &trans     &trans     &trans
     47             &kp DEL    &kp N4     &kp N5     &kp N6     &kp END        &kp PG_DN  &kp LARW   &kp DARW   &kp UARW   &kp RARW
     48             &kp N0     &kp N1     &kp N2     &kp N3     &caps_word     &trans     &trans     &trans     &trans     &trans
     49                                              &trans     &kp ESC        &trans     &trans
     50             >;
     51         };
     52 
     53         left_layer {
     54             bindings = <
     55             &trans     &kp AMPS   &kp ASTRK  &trans     &trans         &trans     &trans     &trans     &kp LPAR   &kp RPAR
     56             &trans     &kp DLLR   &kp PRCNT  &kp CARET  &kp BSLH       &kp GRAVE  &kp MINUS  &kp EQUAL  &kp LBKT   &kp RBKT
     57             &trans     &kp EXCL   &kp AT     &kp HASH   &kp PIPE       &kp TILDE  &kp UNDER  &kp PLUS   &kp LBRC   &kp RBRC
     58                                              &trans     &trans         &trans     &trans
     59             >;
     60         };
     61 
     62         tri_layer {
     63             bindings = <
     64             &sys_reset  &trans    &trans     &trans    &bt BT_SEL 0    &kp F1     &kp F2     &kp F3     &kp F4     &sys_reset
     65             &bootloader &trans    &trans     &trans    &bt BT_SEL 1    &kp F5     &kp F6     &kp F7     &kp F8     &bootloader
     66             &trans      &trans    &trans     &bt BT_CLR &bt BT_SEL 2   &kp F9     &kp F10    &kp F11    &kp F12    &trans
     67                                              &trans     &trans         &trans     &trans
     68             >;
     69         };
     70     };
     71 };