/* * Copyright (c) 2020 The ZMK Contributors * * SPDX-License-Identifier: MIT */ #include #include #include #include #define TIMEOUT_COMBO 250 #define LAYER_ID_DEFAULT 0 #define LAYER_ID_NAV 1 #define LAYER_ID_FUNC 2 #define LAYER_ID_ALT 3 #define LAYER_ID_MISC 4 &pro_micro_i2c { status = "okay"; }; / { sensors { compatible = "zmk,keymap-sensors"; sensors = <&encoder_1>; }; behaviors { tildeesc: tilde_escape { compatible = "zmk,behavior-mod-morph"; label = "TILDE_ESCAPE"; #binding-cells = <0>; bindings = <&kp ESC>, <&kp TILDE>; mods = <(MOD_LSFT)>; }; }; combos { compatible = "zmk,combos"; combo_layer_navigations_left { timeout-ms = ; key-positions = <34 19 36>; bindings = <&tog LAYER_ID_NAV>; layers = ; }; combo_layer_navigation_right { timeout-ms = ; key-positions = <39 24 41>; bindings = <&tog LAYER_ID_NAV>; layers = ; }; combo_shift_lock_left { timeout-ms = ; key-positions = <19 35>; bindings = <&kt LSHFT>; layers = ; }; combo_shift_lock_right { timeout-ms = ; key-positions = <24 40>; bindings = <&kt LSHFT>; layers = ; }; }; keymap { compatible = "zmk,keymap"; default_layer { label = "ANSI"; sensor-bindings = <&inc_dec_kp C_VOLUME_UP C_VOLUME_DOWN>; bindings = < &tildeesc &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp MINUS &kp EQUAL &kp BSPC &kp HOME &kp C_MUTE &kp TAB &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp LBKT &kp RBKT &kp BSLH &kp PG_UP &mo LAYER_ID_MISC &mo LAYER_ID_ALT &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp SQT &kp RET &kp PG_DN &trans &kp LSHFT &none &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp RSHFT &kp UP &kp END &trans &kp LCTRL &kp LGUI &kp LALT &kp SPACE &mo LAYER_ID_FUNC &kp RCTRL &kp RALT &kp LEFT &kp DOWN &kp RIGHT >; }; nav_layer { label = "Nav"; sensor-bindings = <&inc_dec_kp C_VOLUME_UP C_VOLUME_DOWN>; bindings = < &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &kp DEL &trans &trans &kp PG_UP &kp HOME &kp UP &kp END &trans &trans &kp HOME &kp UP &kp END &kp PG_UP &trans &trans &trans &trans &none &trans &kp PG_DN &kp LEFT &kp DOWN &kp RIGHT &trans &trans &kp LEFT &kp DOWN &kp RIGHT &kp PG_DN &trans &trans &trans &none &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &none &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans >; }; function_layer { label = "Function"; sensor-bindings = <&inc_dec_kp C_VOLUME_UP C_VOLUME_DOWN>; bindings = < &kp GRAVE &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp F11 &kp F12 &trans &kp DEL &trans &kp CAPS &kp PG_UP &kp HOME &kp UP &kp END &trans &trans &kp HOME &kp UP &kp END &kp PG_UP &trans &trans &kp INS &kp INS &none &trans &kp PG_DN &kp LEFT &kp DOWN &kp RIGHT &trans &trans &kp LEFT &kp DOWN &kp RIGHT &kp PG_DN &trans &kp PSCRN &kp PSCRN &none &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &kp C_PP &none &trans &trans &trans &trans &trans &kp C_VOLUME_UP &kp C_VOLUME_DOWN &kp C_MUTE &trans &trans >; }; alt_layer { label = "Alt"; sensor-bindings = <&inc_dec_kp C_VOLUME_UP C_VOLUME_DOWN>; bindings = < &trans &kp LA(F1) &kp LA(F2) &kp LA(F3) &kp LA(F4) &kp LA(F5) &kp LA(F6) &kp LA(F7) &kp LA(F8) &kp LA(F9) &kp LA(F10) &kp LA(F11) &kp LA(F12) &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &none &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &none &trans &none &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &none &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans >; }; misc_layer { label = "Misc"; sensor-bindings = <&inc_dec_kp C_VOLUME_UP C_VOLUME_DOWN>; bindings = < &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 &trans &mo LAYER_ID_MISC &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &none &trans &none &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &none &trans &trans &trans &trans &ext_power EP_TOG &trans &trans &trans &trans &trans >; }; }; };