/* * Copyright (c) 2020 The ZMK Contributors * * SPDX-License-Identifier: MIT */ #include #include #include &mt { tapping-term-ms = <400>; quick-tap-ms = <175>; require-prior-idle-ms = <150>; flavor = "balanced"; }; < { tapping-term-ms = <400>; }; / { combos { compatible = "zmk,combos"; combo_esc { timeout-ms = <50>; key-positions = <1 2 3>; bindings = <&kp ESCAPE>; }; combo_bksp { timeout-ms = <50>; key-positions = <10 9 8>; bindings = <&kp BACKSPACE>; }; combo_tab { bindings = <&kp TAB>; key-positions = <13 14 15>; }; combo_shift { bindings = <&kp LEFT_SHIFT>; key-positions = <25 26 27>; }; combo_delete { bindings = <&kp DELETE>; key-positions = <21 22 20>; }; combo_rshift { bindings = <&kp RIGHT_SHIFT>; key-positions = <33 34 32>; }; exclm { bindings = <&kp EXCLAMATION>; key-positions = <1 13>; }; at { bindings = <&kp AT_SIGN>; key-positions = <2 14>; }; hash { bindings = <&kp HASH>; key-positions = <3 15>; }; dllr { bindings = <&kp DOLLAR>; key-positions = <4 16>; }; percnt { bindings = <&kp PERCENT>; key-positions = <5 17>; }; caret { bindings = <&kp CARET>; key-positions = <6 18>; }; and { bindings = <&kp AMPERSAND>; key-positions = <7 19>; }; str { bindings = <&kp ASTERISK>; key-positions = <8 20>; }; leftparen { bindings = <&kp LPAR>; key-positions = <9 21>; }; rparen { bindings = <&kp RPAR>; key-positions = <10 22>; }; layout_switch { bindings = <&tog 4>; key-positions = <36 37 40 41>; }; system_reset { bindings = <&sys_reset>; key-positions = <3 4 5 14>; }; bootloader { bindings = <&bootloader>; key-positions = <15 16 17 26>; }; system_layer_combo { bindings = <&mo 3>; key-positions = <36 37 38>; }; }; conditional_layers { compatible = "zmk,conditional-layers"; }; keymap { compatible = "zmk,keymap"; colemak_layer { bindings = < &none &kp Q &kp W &kp F &kp P &kp B &kp J &kp L &kp U &kp Y &kp SEMICOLON &none &none &kp A &kp R &kp S &kp T &kp G &kp M &kp N &kp E &kp I &kp O &none &none &kp Z &kp X &kp C &kp D &kp V &kp K &kp H &kp COMMA &kp DOT &kp FSLH &none &mt LCTRL TAB &kp LGUI < 2 SPACE < 1 ENTER &mt RIGHT_SHIFT BACKSPACE &mt LEFT_ALT ESC >; }; numsym_layer { bindings = < &trans &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp LESS_THAN &kp LEFT_BRACKET &kp LEFT_BRACE &kp LEFT_PARENTHESIS &kp SEMICOLON &trans &trans &kp NUMBER_6 &kp N7 &kp N8 &kp N9 &kp NUMBER_0 &kp LEFT &kp DOWN &kp UP &kp RIGHT &kp SQT &trans &trans &kp BACKSLASH &kp MINUS &kp EQUAL &kp SLASH &kp ASTERISK &kp GREATER_THAN &kp RIGHT_BRACKET &kp RIGHT_BRACE &kp RIGHT_PARENTHESIS &kp GRAVE &trans &trans &trans &trans &trans &trans &trans >; }; fun_layer { bindings = < &trans &kp SPACE &kp UP_ARROW &kp ENTER &kp PAGE_UP &kp C_VOL_UP &kp C_BRIGHTNESS_INC &kp F1 &kp F4 &kp F7 &kp F10 &trans &trans &kp LEFT &kp DOWN &kp RIGHT &kp HOME &kp C_MUTE &kp C_PLAY_PAUSE &kp F2 &kp F5 &kp F8 &kp F11 &trans &trans &kp INS &kp PRINTSCREEN &kp SCROLLLOCK &kp PAGE_DOWN &kp C_VOL_DN &kp C_BRIGHTNESS_DEC &kp F3 &kp F6 &kp F9 &kp F12 &trans &trans &trans &trans &trans &trans &trans >; }; sys_layer { bindings = < &trans &bt BT_CLR &bt BT_CLR_ALL &bt BT_PRV &bt BT_NXT &trans &none &trans &trans &trans &trans &trans &trans &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &trans &none &none &none &none &trans &trans &bootloader &sys_reset &none &none &none &none &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans >; }; qwerty_layer { bindings = < &trans &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &trans &trans &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &trans &trans &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH &trans &mt LCTRL TAB &kp LEFT_GUI < 2 SPACE < 1 ENTER &mt LEFT_SHIFT BACKSPACE &mt RIGHT_ALT ESC >; }; }; };