/* * Copyright (c) 2020 The ZMK Contributors * * SPDX-License-Identifier: MIT */ #include #include #include #include #include #include #include #include #include &led_strip { chain-length = <27>; }; / { combos { compatible = "zmk,combos"; // Top + home row combos = numbers (like ecosteno) combo_1 { key-positions = <1 13>; bindings = <&kp N1>; layers = <0 1>; }; combo_2 { key-positions = <2 14>; bindings = <&kp N2>; layers = <0 1>; }; combo_3 { key-positions = <3 15>; bindings = <&kp N3>; layers = <0 1>; }; combo_4 { key-positions = <4 16>; bindings = <&kp N4>; layers = <0 1>; }; combo_5 { key-positions = <5 17>; bindings = <&kp N5>; layers = <0 1>; }; combo_6 { key-positions = <6 18>; bindings = <&kp N6>; layers = <0 1>; }; combo_7 { key-positions = <7 19>; bindings = <&kp N7>; layers = <0 1>; }; combo_8 { key-positions = <8 20>; bindings = <&kp N8>; layers = <0 1>; }; combo_9 { key-positions = <9 21>; bindings = <&kp N9>; layers = <0 1>; }; combo_0 { key-positions = <10 22>; bindings = <&kp N0>; layers = <0 1>; }; // K+L (QWRT) / E+O (CARP) = BSPC combo_bspc { key-positions = <20 21>; bindings = <&kp BSPC>; layers = <0 1>; }; // J+K (QWRT) / A+E (CARP) = ENTER combo_enter { key-positions = <19 20>; bindings = <&kp RET>; layers = <0 1>; }; // SPC+ALT = ENTER (all layers except steno) combo_thumb_enter { key-positions = <39 40>; bindings = <&kp RET>; layers = <0 4 1 3>; }; }; keymap { compatible = "zmk,keymap"; carpalx_layer { display-name = "CARP"; bindings = < &kp GRAVE &kp Q &kp G &kp M &kp L &kp W &kp Y &kp F &kp U &kp B &kp SEMI &to 4 &kp TAB &kp D &kp S &kp T &kp N &kp R &kp I &kp A &kp E &kp O &kp H &kp SQT &kp LSHFT &kp Z &kp X &kp C &kp V &kp J &kp K &kp P &kp COMMA &kp DOT &kp FSLH &kp RSHFT &kp ESC &kp LCTRL &kp LGUI &kp SPACE &kp RALT &mo 4 >; }; qwerty_layer { display-name = "QWRT"; bindings = < &kp GRAVE &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &to 4 &kp TAB &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp SQT &kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp RSHFT &kp ESC &kp LCTRL &kp LGUI &kp SPACE &kp RALT &mo 4 >; }; steno_layer { display-name = "STEN"; bindings = < &none &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &to 4 &none &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp LBKT &none &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp SQT &none &kp C &kp V &kp N &kp M &none >; }; fps_layer { display-name = "FPS"; bindings = < &mt ESC N1 &kp N2 &kp Q &kp W &mt N3 E &mt N4 R &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &to 4 &kp TAB &kp LSHFT &kp A &kp S &kp D &kp G &none &none &none &none &none &none &kp M &kp Z &kp X &kp C &kp V &kp F &none &none &none &none &none &none &mt LALT T &kp LCTRL &kp SPACE &none &none &mo 4 >; }; hub_layer { display-name = "HUB"; bindings = < &bt BT_CLR &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &bt BT_SEL 4 &kp PLUS &kp LBKT &kp UP &kp RBKT &kp ASTRK &kp EQUAL &out OUT_TOG &none &none &none &none &none &kp MINUS &kp LEFT &kp DOWN &kp RIGHT &kp FSLH &kp BSLH &kp LSHFT &kp Z &kp X &kp C &kp V &none &to 0 &to 1 &to 2 &to 3 &none &kp RSHFT &kp ESC &kp LCTRL &kp LGUI &kp SPACE &kp RALT &none >; }; }; };