/* * Copyright (c) 2020 The ZMK Contributors * * SPDX-License-Identifier: MIT */ #include #include #include #include &mt { // flavor = "tap-preferred"; // tapping_term_ms = <200>; }; / { 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>; }; 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>; }; }; combos { compatible = "zmk,combos"; combo_esc { timeout-ms = <50>; key-positions = <0 1>; bindings = <&kp ESC>; }; combo_tab { timeout-ms = <50>; key-positions = <10 11>; bindings = <&kp TAB>; }; // Sticky layer 3 combo_l_layer_3 { timeout-ms = <50>; key-positions = <30 31>; bindings = <&sl 3>; }; // Sticky layer 3 combo_r_layer_3 { timeout-ms = <50>; key-positions = <32 33>; bindings = <&sl 3>; }; }; keymap { compatible = "zmk,keymap"; default_layer { // ___________________________________________________ ___________________________________________________ // | Q | W | F | P | B | | J | L | U | Y | ; | // | A | R | S | LAlt(T) | G | | M | RCmd(N) | E | I | O | // | Z | X | C | D | V | | K | H | , | . | / | // ------------------------------| LAYER 1 | ENTER | | St RShft| LAYER 2 |------------------------------ bindings = < &kp Q &kp W &kp F &kp P &kp B &kp J &kp L &kp U &kp Y &kp SEMICOLON &kp A &kp R &kp S &hm LALT T &kp G &kp M &hm RCMD N &kp E &kp I &kp O &kp Z &kp X &kp C &kp D &kp V &kp K &kp H &kp COMMA &kp DOT &kp SLASH < 1 BSPC &mt LSHFT ENTER &sk RSHFT < 2 SPACE >; }; left_layer { // ___________________________________________________ ___________________________________________________ // | ! | @ | # | $ | % | | ^ | & | ' | ` | | // | ~ | + | ( | ) | COPY | | | | - | = | _ | * | // | | EXTRACT | { | } | PASTE | | | [ | ] | | \ | // ------------------------------| TRANS | TRANS | | | |------------------------------ bindings = < &kp EXCL &kp AT &kp HASH &kp DOLLAR &kp PERCENT &kp CARET &kp AMPS &kp APOS &kp GRAVE &none &kp TILDE &kp PLUS &kp LPAR &kp RPAR &kp LG(C) &kp PIPE &kp MINUS &kp EQUAL &kp UNDER &kp STAR &none &kp LG(X) &kp LBRC &kp RBRC &kp LG(V) &none &kp LBKT &kp RBKT &none &kp BSLH &trans &trans &none &none >; }; right_layer { // ___________________________________________________ ___________________________________________________ // | | 1 | 2 | 3 | | | STUDIO | | UP | | VOL + | // | 0 | 4 | 5 | 6 | | | | LEFT | DOWN | RIGHT | VOL - | // | | 7 | 8 | 9 | | | | | | TRANS | MUTE | // ------------------------------| St LCtrl| | | | TRANS |------------------------------ bindings = < &none &kp KP_N1 &kp KP_N2 &kp KP_N3 &none &studio_unlock &none &kp UP &none &kp C_VOL_UP &kp KP_N0 &kp KP_N4 &kp KP_N5 &kp KP_N6 &none &none &kp LEFT &kp DOWN &kp RIGHT &kp C_VOL_DN &none &kp KP_N7 &kp KP_N8 &kp KP_N9 &none &none &none &none &trans &kp C_MUTE &sk LCTRL &none &none &trans >; }; tri_layer { // ___________________________________________________ ___________________________________________________ // | EP_OFF | | | | RESET | | | | | | | // | EP_ON | | | | | | | | | | | // | | | | | | | | | | | | // ------------------------------| | | | | |------------------------------ bindings = < &ext_power EP_OFF &none &none &none &bootloader &none &none &none &none &none &ext_power EP_ON &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none >; }; }; };