|
| 1 | +#include <behaviors.dtsi> |
| 2 | +#include <dt-bindings/zmk/keys.h> |
| 3 | +#include <dt-bindings/zmk/bt.h> |
| 4 | +#include <dt-bindings/zmk/rgb.h> |
| 5 | +#include <dt-bindings/zmk/stp.h> |
| 6 | +#include <dt-bindings/zmk/backlight.h> |
| 7 | +#include <dt-bindings/zmk/pointing.h> |
| 8 | + |
| 9 | +#define DEFAULT 0 |
| 10 | +#define MISC 1 |
| 11 | +#define MAC 2 |
| 12 | +#define DVORAK 3 |
| 13 | +#define NUM 4 |
| 14 | +#define HWP 5 |
| 15 | + |
| 16 | +/ { |
| 17 | + behaviors { |
| 18 | + #include "macros.dtsi" |
| 19 | + |
| 20 | + hm: homerow_mods { |
| 21 | + compatible = "zmk,behavior-hold-tap"; |
| 22 | + label = "HOMEROW_MODS"; |
| 23 | + #binding-cells = <2>; |
| 24 | + tapping-term-ms = <150>; |
| 25 | + flavor = "tap-preferred"; |
| 26 | + bindings = <&kp>, <&kp>; |
| 27 | + }; |
| 28 | + hwp_caption: macro_hwp_caption { |
| 29 | + compatible = "zmk,behavior-macro"; |
| 30 | + label = "hwp_caption"; |
| 31 | + #binding-cells = <0>; |
| 32 | + bindings |
| 33 | + = <¯o_press &kp LCTRL> |
| 34 | + , <¯o_tap &kp N> |
| 35 | + , <¯o_tap &kp C> |
| 36 | + , <¯o_release &kp LCTRL>; |
| 37 | + }; |
| 38 | + }; |
| 39 | + |
| 40 | + keymap { |
| 41 | + compatible = "zmk,keymap"; |
| 42 | + |
| 43 | + default_layer { |
| 44 | + display-name = "Base"; |
| 45 | + bindings = < |
| 46 | + &kp EQUAL &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &mo MISC &mo MISC &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp MINUS |
| 47 | + &kp TAB &kp Q &kp W &kp E &kp R &kp T &kp DEL &kp LA(SPACE) &kp Y &kp U &kp I &kp O &kp P &kp BSLH |
| 48 | + &kp ESC &kp A &kp S &kp D &kp F &kp G &kp LC(SPACE) &kp LCTRL &kp LCMD &kp LCMD &kp LCTRL &kp LC(SPACE) &kp H &kp J &kp K &kp L &kp SEMI &kp SQT |
| 49 | + &kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp HOME &kp END &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp LSHFT |
| 50 | + &trans &kp GRAVE &kp LA(X) &kp LEFT &kp RIGHT &kp SPACE &kp LS(SPACE) &kp LALT &kp LALT &kp BSPC &kp ENTER &kp DOWN &kp UP &kp LBKT &kp RBKT &trans |
| 51 | + >; |
| 52 | + }; |
| 53 | + |
| 54 | + mod_layer { |
| 55 | + bindings = < |
| 56 | + &none &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &trans &trans &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &trans |
| 57 | + &trans &kp F1 &kp F2 &kp F3 &kp F4 &to DEFAULT &bootloader &bootloader &to DEFAULT &kp F1 &kp F2 &kp F3 &kp F4 &trans |
| 58 | + &trans &kp F5 &kp F6 &kp F7 &kp F8 &to MAC &bt BT_CLR &trans &trans &trans &trans &bt BT_CLR &to MAC &kp F5 &kp F6 &kp F7 &kp F8 &trans |
| 59 | + &trans &kp F9 &kp F10 &kp F11 &kp F12 &to HWP &trans &trans &trans &kp F9 &kp F10 &kp F11 &kp F12 &trans |
| 60 | + &trans &trans &trans &bl BL_INC &bl BL_DEC &trans &trans &trans &trans &trans &trans &bl BL_INC &bl BL_DEC &trans &trans &trans |
| 61 | + >; |
| 62 | + }; |
| 63 | + |
| 64 | + mac_layer { |
| 65 | + bindings = < |
| 66 | + &kp EQUAL &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &to DEFAULT &to DEFAULT &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp MINUS |
| 67 | + &kp TAB &kp Q &kp W &kp E &kp R &kp T &to DEFAULT &to DEFAULT &kp Y &kp U &kp I &kp O &kp P &kp BSLH |
| 68 | + &kp ESC &kp A &kp S &kp D &kp F &kp G &kp LA(SPACE) &kp LCMD &kp LCTRL &kp LCTRL &kp LCMD &kp LC(SPACE) &kp H &kp J &kp K &kp L &kp SEMI &kp SQT |
| 69 | + &kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp HOME &kp END &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp RSHFT |
| 70 | + &kp LA(LSHFT) &kp GRAVE &kp LA(X) &kp LEFT &kp RIGHT &kp SPACE &kp LS(SPACE) &kp LALT &kp LALT &kp BSPC &kp ENTER &kp DOWN &kp UP &kp LBKT &kp RBKT &kp LC(LSHFT) |
| 71 | + >; |
| 72 | + }; |
| 73 | + |
| 74 | + dvorak_layer { |
| 75 | + bindings = < |
| 76 | + &kp EQUAL &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &to DEFAULT &to DEFAULT &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp MINUS |
| 77 | + &kp TAB &kp SQT &kp COMMA &kp DOT &kp P &kp Y &to DEFAULT &to DEFAULT &kp F &kp G &kp C &kp R &kp L &kp BSLH |
| 78 | + &kp ESC &kp A &kp O &kp E &kp U &kp I &kp LA(SPACE) &kp LCTRL &kp LCMD &kp LCMD &kp LCTRL &kp LC(SPACE) &kp D &kp H &kp T &kp N &kp S &kp FSLH |
| 79 | + &kp LSHFT &kp SEMI &kp Q &kp J &kp K &kp X &kp HOME &kp END &kp B &kp M &kp W &kp V &kp Z &kp RSHFT |
| 80 | + &kp LA(LSHFT) &kp GRAVE &kp LA(X) &kp LEFT &kp RIGHT &kp SPACE &kp LS(SPACE) &kp LALT &kp LALT &kp BSPC &kp ENTER &kp DOWN &kp UP &kp LBKT &kp RBKT &kp LC(LSHFT) |
| 81 | + >; |
| 82 | + }; |
| 83 | + |
| 84 | + keypad { |
| 85 | + bindings = < |
| 86 | + &kp EQUAL &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &to DEFAULT &to DEFAULT &kp N6 &kp KP_NUM &kp KP_EQUAL &kp KP_DIVIDE &kp KP_MULTIPLY &kp MINUS |
| 87 | + &kp TAB &kp Q &kp W &kp E &kp R &kp T &to DEFAULT &to DEFAULT &kp Y &kp KP_N7 &kp KP_N8 &kp KP_N9 &kp KP_MINUS &kp BSLH |
| 88 | + &kp ESC &kp A &kp S &kp D &kp F &kp G &none &kp LCTRL &kp LALT &kp LGUI &kp RCTRL &none &kp H &kp KP_N4 &kp KP_N5 &kp KP_N6 &kp KP_PLUS &kp SQT |
| 89 | + &kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp HOME &kp PG_UP &kp N &kp KP_N1 &kp KP_N2 &kp KP_N3 &kp KP_ENTER &kp RSHFT |
| 90 | + &mo 2 &kp GRAVE &kp CAPS &kp LEFT &kp RIGHT &kp BSPC &kp DEL &kp END &kp PG_DN &kp ENTER &kp KP_N0 &kp UP &kp DOWN &kp KP_DOT &kp RBKT &mo 2 |
| 91 | + >; |
| 92 | + }; |
| 93 | + |
| 94 | + hwp_layer { |
| 95 | + bindings = < |
| 96 | + &kp EQUAL &mt LC(N6) LC(N1) &mt LC(N7) LC(N2) &mt LC(N8) LC(N3) &mt LC(N9) LC(N4) &mt LC(N0) LC(N5) &to DEFAULT &to DEFAULT &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp MINUS |
| 97 | + &kp ENTER &hwp_caption &kp LA(LS(N)) &kp LA(LS(W)) &kp LC(F2) &kp LA(T) &kp DEL &none &kp Y &kp U &kp I &kp O &kp P &kp BSLH |
| 98 | + &kp ESC &kp LC(A) &kp LC(LS(L)) &kp LC(LS(C)) &kp LC(LS(R)) &kp LC(UP) &kp LA(SPACE) &kp LCMD &kp LCTRL &kp LCTRL &kp LCMD &kp LC(SPACE) &kp H &kp J &kp K &kp L &kp SEMI &kp SQT |
| 99 | + &kp LSHFT &kp LA(C) &kp LC(X) &mt LA(C) LC(C) &kp LC(V) &kp LC(DOWN) &kp HOME &kp END &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp RSHFT |
| 100 | + &kp LA(LSHFT) &kp GRAVE &kp LA(X) &kp LEFT &kp RIGHT &kp F5 &kp LS(SPACE) &kp LALT &kp LALT &kp BSPC &kp ENTER &kp DOWN &kp UP &kp LBKT &kp RBKT &kp LC(LSHFT) |
| 101 | + >; |
| 102 | + }; |
| 103 | + |
| 104 | + }; |
| 105 | +}; |
0 commit comments