/* * Copyright (c) 2020 The ZMK Contributors * * SPDX-License-Identifier: MIT */ #include #include #include #include #include #define DEFAULT 0 #define SPEC 1 #define NAV 2 #define ADJUST 3 &caps_word { continue-list = ; }; < { quick-tap-ms = <0>; tapping-term-ms = <100>; }; / { conditional_layers { compatible = "zmk,conditional-layers"; tri_layer { if-layers = ; then-layer = ; }; }; behaviors { tdrstl: tdrstl { compatible = "zmk,behavior-tap-dance"; label = "tdrstl"; #binding-cells = <0>; tapping-term-ms = <200>; bindings = <&kp F5>, <&reset>; }; tdblclear: tdblclear { compatible = "zmk,behavior-tap-dance"; label = "tdblclear"; #binding-cells = <0>; tapping-term-ms = <200>; bindings = <&trans>, <&bt BT_CLR>; }; tdrstr: tdrstr { compatible = "zmk,behavior-tap-dance"; label = "tdrstr"; #binding-cells = <0>; tapping-term-ms = <200>; bindings = <&trans>, <&reset>; }; tdcaps: tdcaps { compatible = "zmk,behavior-tap-dance"; label = "tdcaps"; #binding-cells = <0>; tapping-term-ms = <200>; bindings = <&caps_word>, <&kp CAPS>; }; tdctrlesc: tdctrlesc { compatible = "zmk,behavior-tap-dance"; label = "tapdance ctrl/esc"; #binding-cells = <0>; tapping-term-ms = <200>; bindings = <&kp LCTRL>, <&kp ESC>; }; }; macros { ud_grave: ud_grave { label = "UNDEAD_GRAVE"; compatible = "zmk,behavior-macro"; #binding-cells = <0>; wait-ms = <30>; tap-ms = <40>; bindings = <&kp GRAVE &kp SPACE>; }; ud_tilde: ud_tilde { label = "UNDEAD_TILDE"; compatible = "zmk,behavior-macro"; #binding-cells = <0>; wait-ms = <30>; tap-ms = <40>; bindings = <&kp TILDE &kp SPACE>; }; ud_sqt: ud_sqt { label = "UNDEAD_SINGLE_QUOTE"; compatible = "zmk,behavior-macro"; #binding-cells = <0>; wait-ms = <30>; tap-ms = <40>; bindings = <&kp SQT &kp SPACE>; }; }; keymap { compatible = "zmk,keymap"; default_layer { label = "Default"; bindings = < // _______________________________________________________________________________ ______________________________________________________________________________ // | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | MAGIC | &kp ESC &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp RS(RC(RA(F12))) // _______________________________________________________________________________ ______________________________________________________________________________ // | TAB | Q | W | E | R | T | | Y | U | I | O | P | BKSPC | &kp TAB &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp BSPC // _______________________________________________________________________________ ______________________________________________________________________________ // | CTRL | A | S | D | F | G | | H | J | K | L | ; | ' | &tdctrlesc &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &ud_sqt // _______________________________________________________________________________________________ ______________________________________________________________________________________________ // | SHIFT / { | Z | X | C | V | B | MUTE | | SPACE | N | M | , | . | / | SHIFT / } | &mt LSHFT LBRC &kp Z &kp X &kp C &kp V &kp B &kp C_MUTE &kp SPACE &kp N &kp M &kp COMMA &kp DOT &kp FSLH &mt RSHFT RBRC // _______________________________________________________________________________________________ ______________________________________________________________________________________________ // | | GUI | ALT | SPECIAL | ENTER | | SPACE | NAV | ALT | GUI | | &trans &kp LGUI &kp LALT < SPEC ESC &kp SPACE &mt RALT RET < NAV BSPC &kp RALT &kp RGUI &trans // ___________________________________________________________________ __________________________________________________________________ >; sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN &inc_dec_kp RIGHT LEFT>; }; special_layer { label = "Special"; bindings = < // _______________________________________________________________________________ ______________________________________________________________________________ // | | F1 | F2 | F3 | F4 | F5 / reset | | F6 | F7 | F8 | F9 | F10 | F11 | &trans &kp F1 &kp F2 &kp F3 &kp F4 &tdrstl &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 // _______________________________________________________________________________ ______________________________________________________________________________ // | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | F12 | &trans &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp F12 // _______________________________________________________________________________ ______________________________________________________________________________ // | ` | ! | @ | # | $ | % | | ^ | & | * | ( | ) | ~ | &ud_grave &kp EXCL &kp AT &kp HASH &kp DLLR &kp PRCNT &kp CARET &kp AMPS &kp STAR &kp LPAR &kp RPAR &ud_tilde // _______________________________________________________________________________________________ ______________________________________________________________________________________________ // | SHIFT | = | - | + | { | } | | | | [ | ] | _ | | | \ | | &trans &kp EQUAL &kp MINUS &kp KP_PLUS &kp LBRC &kp RBRC &trans &trans &kp LBKT &kp RBKT &kp UNDER &kp PIPE &kp BSLH &trans // _______________________________________________________________________________________________ ______________________________________________________________________________________________ // | | | | | | | | | | | | &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans // ___________________________________________________________________ __________________________________________________________________ >; sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN &inc_dec_kp RIGHT LEFT>; }; nav_layer { label = "Navigation"; bindings = < // _______________________________________________________________________________ ______________________________________________________________________________ // | | | | | | | | / reset | | | | | | &trans &trans &trans &trans &trans &trans &tdrstr &trans &trans &trans &trans &trans // _______________________________________________________________________________ ______________________________________________________________________________ // | ALT+F4 | | | | | | | PG UP | HOME | INSERT | END | | | &kp LA(F4) &trans &trans &trans &trans &trans &kp PG_UP &kp HOME &kp INS &kp END &trans &trans // _______________________________________________________________________________ ______________________________________________________________________________ // | | | CAPSW/CAPS| PRINT | MENU | | | LEFT | DOWN | UP | RIGHT | DEL | BACKSPACE | &trans &trans &tdcaps &kp PSCRN &kp K_APP &trans &kp LEFT &kp DOWN &kp UP &kp RIGHT &kp DEL &kp BSPC // _______________________________________________________________________________________________ ______________________________________________________________________________________________ // | | undo | cut | copy | paste | | | | | PG DOWN | PREV << | PAUSE | NEXT >> | | | &trans &kp K_UNDO &kp K_CUT &kp K_COPY &kp K_PASTE &trans &trans &trans &kp PG_DN &kp C_PREV &kp C_PP &kp C_NEXT &trans &trans // _______________________________________________________________________________________________ ______________________________________________________________________________________________ // | | | | | | | | | | | | &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans // ___________________________________________________________________ __________________________________________________________________ >; sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN &inc_dec_kp RIGHT LEFT>; }; adjust_layer { label = "Adjust"; bindings = < // _______________________________________________________________________________ ______________________________________________________________________________ // | BLT Clear | BLT0 | BLT1 | BLT2 | BLT3 | BLT4 | | | | | | | | &tdblclear &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &trans &trans &trans &trans &trans &trans // _______________________________________________________________________________ ______________________________________________________________________________ // | | | | | | | | | | | | | | &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans // _______________________________________________________________________________ ______________________________________________________________________________ // | | | | | | | | | | | | | | &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans // _______________________________________________________________________________________________ ______________________________________________________________________________________________ // | | | | | VCC | BLT/CABLE | | | | | | | | | | &trans &trans &trans &trans &ext_power EP_TOG &out OUT_TOG &trans &trans &trans &trans &trans &trans &trans &trans // _______________________________________________________________________________________________ ______________________________________________________________________________________________ // | | | | | | | | | | | | &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans // ___________________________________________________________________ __________________________________________________________________ >; sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN &inc_dec_kp RIGHT LEFT>; }; }; };