/* * Copyright (c) 2020 The ZMK Contributors * * SPDX-License-Identifier: MIT */ #include #include #include &mt { flavor = "tap-preferred"; tapping_term_ms = <200>; }; / { combos { compatible = "zmk,combos"; combo_esc { timeout-ms = <50>; key-positions = <21 22>; bindings = <&kp ESC>; }; combo_3 { timeout-ms = <50>; key-positions = <7 8>; bindings = <&to 3>; }; combo_ent { timeout-ms = <50>; key-positions = <27 28>; bindings = <&kp RET>; }; combo_1 { timeout-ms = <50>; key-positions = <30 33>; bindings = <&to 1>; }; combo_1_high { timeout-ms = <50>; key-positions = <24 25>; bindings = <&to 1>; }; combo_g { timeout-ms = <15>; key-positions = <12 13>; bindings = <&kp G>; layers = <0>; }; combo_j { timeout-ms = <50>; key-positions = <22 23>; bindings = <&kp J>; layers = <0>; }; combo_p { timeout-ms = <15>; key-positions = <16 17>; bindings = <&kp P>; layers = <0>; }; combo_b { timeout-ms = <50>; key-positions = <26 27>; bindings = <&kp B>; layers = <0>; }; combo_scol { timeout-ms = <50>; key-positions = <8 9>; bindings = <&kp SEMI>; layers = <0>; }; combo_com { timeout-ms = <50>; key-positions = <20 21>; bindings = <&kp COMMA>; layers = <0>; }; combo_minus { timeout-ms = <50>; key-positions = <0 1>; bindings = <&kp MINUS>; layers = <0>; }; combo_slsh { timeout-ms = <50>; key-positions = <28 29>; bindings = <&kp SLASH>; layers = <0>; }; combo_sqt { timeout-ms = <50>; key-positions = <12 13>; bindings = <&kp SQT>; layers = <1>; }; combo_dqt { timeout-ms = <50>; key-positions = <22 23>; bindings = <&kp DQT>; layers = <1>; }; combo_bslh { timeout-ms = <50>; key-positions = <16 17>; bindings = <&kp BSLH>; layers = <1>; }; combo_lbkt { timeout-ms = <50>; key-positions = <26 27>; bindings = <&kp LBKT>; layers = <1>; }; combo_n0 { timeout-ms = <50>; key-positions = <26 27>; bindings = <&kp N0>; layers = <2>; }; combo_lalt { timeout-ms = <50>; key-positions = <12 13>; bindings = <&kp LALT>; layers = <3>; }; combo_del { timeout-ms = <50>; key-positions = <22 23>; bindings = <&kp DEL>; layers = <3>; }; combo_left { timeout-ms = <50>; key-positions = <16 17>; bindings = <&kp LEFT>; layers = <3>; }; }; behaviors { hm: homerow_mods { compatible = "zmk,behavior-hold-tap"; label = "HOMEROW_MODS"; #binding-cells = <2>; tapping-term-ms = <200>; quick_tap_ms = <0>; flavor = "tap-preferred"; bindings = <&kp>, <&kp>; }; hs: homerow_shifts { compatible = "zmk,behavior-hold-tap"; label = "HOMEROW_SHIFTS"; #binding-cells = <2>; tapping-term-ms = <150>; quick_tap_ms = <0>; flavor = "balanced"; bindings = <&kp>, <&kp>; }; hsl: homerow_shifts_layer { compatible = "zmk,behavior-hold-tap"; label = "HOMEROW_SHIFTS_LAYER"; #binding-cells = <2>; tapping-term-ms = <150>; quick_tap_ms = <0>; flavor = "balanced"; bindings = <&kp>, <&to>; }; td: tapdance { compatible = "zmk,behavior-hold-tap"; label = "TAPDANCE"; #binding-cells = <2>; tapping-term-ms = <150>; quick_tap_ms = <0>; flavor = "tap-preferred"; bindings = <&kp>, <&kp>; }; lt: layertap { compatible = "zmk,behavior-hold-tap"; label = "LAYERTAP"; #binding-cells = <2>; tapping-term-ms = <150>; quick_tap_ms = <0>; flavor = "tap-preferred"; bindings = <&to>, <&kp>; }; }; keymap { compatible = "zmk,keymap"; default_layer { bindings = < &kp TAB &kp C &kp L &kp M &trans &trans &kp F &kp U &kp Z &kp BKSP &kp I &hm LCTL S &hm LALT R &hm LGUI T &trans &trans &hm RGUI N &hm RALT K &hm RCTL A &kp O &hs LSHIFT Q &kp V &kp W &kp D &mt LC(LS(LALT)) SPC &kp E &kp H &kp Y &td EXCL DOT &hs RSHIFT X &mt LC(LS(LALT)) SPC &trans &trans &kp E >; }; left_layer { bindings = < &trans &kp ATSN &td LC(LG(LS(N4))) LS(N3) &kp DLLR &trans &trans &kp LS(COMMA) &kp LS(DOT) &kp CARET &trans &kp TAB &hm LCTL EQUAL &hm LALT LA(RBKT) &hm LGUI LA(LS(RBKT)) &trans &trans &hm RGUI LBRC &hm RALT RBRC &hm RCTL PIPE &kp AMPS &hs LSHIFT TILDE &kp GRAVE &kp LA(LBKT) &kp LA(LS(LBKT)) &to 0 &to 2 &kp LPRN &kp RPRN &kp RBKT &kp RSHIFT &to 0 &trans &trans &to 2 >; }; right_layer { bindings = < &trans &kp C_PP &kp C_PREV &kp C_NEXT &trans &trans &kp N7 &kp N8 &kp N9 &trans &kp TAB &trans &hm LALT C_VOL_DN &hm LGUI C_VOL_UP &trans &trans &hm RGUI N4 &kp N5 &kp N6 &kp EQUAL &hsl LSHIFT 4 &kp PRCNT &kp SLASH &kp STAR &to 0 &trans &kp N1 &kp N2 &td DOT N3 &kp MINUS &to 0 &trans &trans &trans >; }; tri_layer { bindings = < &trans &kp NUM_1 &kp NUM_2 &kp NUM_3 &trans &trans &kp LC(LS(TAB)) &kp RC(TAB) &kp LG(LBKT) &trans &kp TAB &kp F2 &kp F3 &kp F4 &trans &trans &kp DOWN &hm RALT UP &hm RCTL RIGHT &kp LG(RBKT) &kp LSHIFT &bt BT_NXT &bt BT_PRV &kp F6 &to 0 &kp RGUI &td HOME PG_DN &td END PG_UP &trans &kp RSHIFT &to 0 &trans &trans &kp RGUI >; }; bt { bindings = < &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &bootloader &trans &trans &trans &trans &trans &trans &trans &trans &trans &bt BT_PRV &bt BT_NXT &bt BT_CLR &trans &to 0 &to 1 &trans &trans &trans &trans &to 0 &trans &trans &to 1 >; }; }; };