/* * Copyright (c) 2020 The ZMK Contributors * * SPDX-License-Identifier: MIT */ #include #include #include #include #include #include #define COLEMAK 0 #define NAV 1 #define NUM 2 #define SYM 3 #define FUN 4 /* krita base */ #define KRB 5 /* play */ #define PLAY 6 &mt { flavor = "tap-preferred"; tapping_term_ms = <200>; quick_tap_ms = <75>; }; / { combos { compatible = "zmk,combos"; combo_caps_word { timeout-ms = <100>; key-positions = <20 29>; bindings = <&caps_word>; }; combo_esc { timeout-ms = <150>; key-positions = <12 13 16 17>; bindings = <&kp ESC>; }; // ( combo_lpar { timeout-ms = <150>; key-positions = <4 14>; bindings = <&kp LPAR>; }; // ) combo_rpar { timeout-ms = <150>; key-positions = <5 15>; bindings = <&kp RPAR>; }; // { combo_lcurly { timeout-ms = <150>; key-positions = <3 13>; bindings = <&kp LBRC>; }; // } combo_rcurly { timeout-ms = <150>; key-positions = <6 16>; bindings = <&kp RBRC>; }; // [ combo_lsquare { timeout-ms = <150>; key-positions = <13 23>; bindings = <&kp LBKT>; }; // ] combo_rsquare { timeout-ms = <150>; key-positions = <16 26>; bindings = <&kp RBKT>; }; // < combo_less_than { timeout-ms = <150>; key-positions = <14 24>; bindings = <&kp LT>; }; // > combo_greater_than { timeout-ms = <150>; key-positions = <15 25>; bindings = <&kp GT>; }; combo_minus { timeout-ms = <150>; key-positions = <2 3 6 7>; bindings = <&kp MINUS>; }; combo_under { timeout-ms = <150>; key-positions = <22 23 26 27>; bindings = <&kp UNDER>; }; combo_ble { timeout-ms = <20>; key-positions = <0 1>; bindings = <&out OUT_BLE>; }; combo_krita { timeout-ms = <100>; key-positions = <0 10 20>; bindings = <&tog KRB>; }; combo_draw { timeout-ms = <100>; key-positions = <9 19 29>; bindings = <&tog PLAY>; }; }; keymap { compatible = "zmk,keymap"; default_layer { bindings = < &kp Q &kp W &kp F &kp P &kp G &kp J &kp L &kp U &kp Y &kp SCLN &kp A &kp R < FUN S < NAV T &kp D &kp H < SYM N < NUM E &kp I &kp O &kp Z &kp X &kp C &kp V &kp B &kp K &kp M &kp CMMA &kp DOT &kp FSLH &mt LALT TAB &mt LGUI SPC &mt LSHIFT RET &mt LCTRL BSPC >; }; nav_layer { bindings = < &bt BT_CLR &trans &trans &bootloader &sys_reset &trans &kp LBRC &kp RBRC &kp LPAR &kp RPAR &bt BT_SEL 0 &trans &trans &trans &trans &kp LEFT &kp DOWN &kp UP &kp RIGHT &trans &bt BT_SEL 1 &trans &trans &trans &trans &trans &kp LBKT &kp RBKT &trans &trans &trans &trans &trans &kp BSPC >; }; num_layer { bindings = < &trans &kp F7 &kp F8 &kp F9 &trans &trans &trans &trans &trans &trans &kp SQT &kp F4 &kp F5 &kp F6 &kp EQUAL &trans &trans &trans &trans &trans &kp GRAVE &kp F1 &kp F2 &kp F3 &kp BSLH &trans &trans &trans &trans &trans &trans &trans &trans &trans >; }; sym_layer { bindings = < &kp LS(Q) &kp LS(Z) &kp STAR &kp AMPS &trans &sys_reset &bootloader &trans &trans &trans &kp DQT &kp CARET &kp PRCNT &kp DLLR &kp KP_PLUS &trans &trans &trans &trans &trans &kp TILDE &kp HASH &kp AT &kp EXCL &kp PIPE &trans &trans &trans &trans &trans &kp LPAR &kp RPAR &trans &trans >; }; fun_layer { bindings = < &trans &trans &trans &trans &trans &trans &kp N7 &kp N8 &kp N9 &trans &trans &trans &trans &trans &trans &kp BSPC &kp N4 &kp N5 &kp N6 &trans &trans &trans &trans &trans &trans &trans &kp N1 &kp N2 &kp N3 &trans &trans &trans &trans &kp N0 >; }; krita_base_layer { bindings = < &kp M &trans &kp BSLH &kp LBKT &kp RBKT &trans &trans &trans &trans &trans &trans &trans &kp F &kp I &kp O &trans &trans &trans &trans &trans &kp LC(S) &trans &kp P &kp K &kp L &trans &trans &trans &trans &trans &kp LS(LC(Z)) &kp LC(Z) &trans &trans >; }; draw { bindings = < &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp N1 &kp S &kp N3 &mt LCTRL F &kp G &kp H &mt LCTRL J &mt RSHIFT K &mt LALT L &mt LGUI SCLN &kp Z &kp X &kp C &kp V &kp B &kp M &kp LEFT &kp DOWN &kp RIGHT &trans &kp R &kp U &kp RET &kp BSPC >; }; }; };