#include #include #include #include #include / { macros { flash_macro: flash_macro { compatible = "zmk,behavior-macro"; #binding-cells = <0>; bindings = <&bootloader>; }; layer_s: layer_s { label = "layer shift color"; compatible = "zmk,behavior-macro"; #binding-cells = <0>; wait-ms = <0>; tap-ms = <0>; bindings = <¯o_press>, <&kp LSHFT>, <¯o_tap>, <&rgb_ug RGB_COLOR_HSB(35,100,50)>, <¯o_pause_for_release>, <¯o_release>, <&kp LSHFT>, <¯o_tap>, <&rgb_ug RGB_COLOR_HSB(240,50,30)>; }; layer_1: layer_1 { label = "layer 1"; compatible = "zmk,behavior-macro"; #binding-cells = <0>; wait-ms = <0>; tap-ms = <0>; bindings = <¯o_press>, <<q 0 END>, <¯o_tap>, <&rgb_ug RGB_COLOR_HSB(300,100,50)>, <¯o_pause_for_release>, <¯o_release>, << 0 END>, <¯o_tap>, <&rgb_ug RGB_COLOR_HSB(240,50,30)>; }; layer_2: layer_2 { label = "layer 2"; compatible = "zmk,behavior-macro"; #binding-cells = <0>; wait-ms = <0>; tap-ms = <0>; bindings = <¯o_press>, <&mo 0>, <¯o_tap>, <&rgb_ug RGB_COLOR_HSB(175,100,50)>, <¯o_pause_for_release>, <¯o_release>, <&mo 0>, <¯o_tap>, <&rgb_ug RGB_COLOR_HSB(240,50,30)>; }; layer_3: layer_3 { label = "layer 3"; compatible = "zmk,behavior-macro"; #binding-cells = <0>; wait-ms = <0>; tap-ms = <0>; bindings = <¯o_press>, << 0 DEL>, <¯o_tap>, <&rgb_ug RGB_COLOR_HSB(0,100,50)>, <¯o_pause_for_release>, <¯o_release>, << 0 DEL>, <¯o_tap>, <&rgb_ug RGB_COLOR_HSB(240,50,30)>; }; }; behaviors { hm: homerow_mods { compatible = "zmk,behavior-hold-tap"; label = "HOMEROW_MODS"; bindings = <&kp>, <&kp>; #binding-cells = <2>; tapping-term-ms = <200>; quick-tap-ms = <180>; flavor = "tap-preferred"; }; ltq: ltq { compatible = "zmk,behavior-hold-tap"; label = "LTQ"; bindings = <&mo>, <&kp>; #binding-cells = <2>; tapping-term-ms = <200>; quick-tap-ms = <180>; }; as: auto_shift { compatible = "zmk,behavior-hold-tap"; label = "AUTO_SHIFT"; bindings = <&kp>, <&kp>; #binding-cells = <2>; tapping-term-ms = <135>; quick-tap-ms = <0>; }; rgb_encoder: rgb_encoder { compatible = "zmk,behavior-sensor-rotate"; label = "RGB_ENCODER"; #sensor-binding-cells = <0>; bindings = <&rgb_ug RGB_BRI>, <&rgb_ug RGB_BRD>; }; }; combos { compatible = "zmk,combos"; esc { bindings = <&kp ESCAPE>; key-positions = <0 1>; }; left_bkt { bindings = <&kp LEFT_BRACKET>; key-positions = <3 4>; }; right_bkt { bindings = <&kp RIGHT_BRACKET>; key-positions = <9 8>; }; left_par { bindings = <&kp LEFT_PARENTHESIS>; key-positions = <16 17>; }; right_par { bindings = <&kp RIGHT_PARENTHESIS>; key-positions = <21 22>; }; left_brace { bindings = <&kp LEFT_BRACE>; key-positions = <29 30>; }; right_brace { bindings = <&kp RIGHT_BRACE>; key-positions = <34 35>; }; bac { bindings = <&kp NON_US_BACKSLASH>; key-positions = <5 7>; }; pipe { bindings = <&kp PIPE>; key-positions = <18 20>; }; }; keymap { compatible = "zmk,keymap"; Qwery { bindings = < &as TILDE GRAVE &kp Q &kp W &kp E &kp R &kp T &kp UP_ARROW &kp Y &kp U &kp I &kp O &kp P &as PLUS EQUAL &kp CAPSLOCK &kp A &kp S &kp D &kp F &kp G &kp DOWN_ARROW &kp H &kp J &kp K &kp L &as COLON SEMICOLON &as DOUBLE_QUOTES SQT &kp ESCAPE &kp Z &kp X &kp C &kp V &kp B &kp LEFT_ARROW &kp N &kp M &as LESS_THAN COMMA &as GREATER_THAN PERIOD &as QUESTION SLASH &kp RSHFT &to 5 <q 1 BACKSPACE <q 3 TAB <q 2 SPACE &kp RIGHT_ARROW <q 3 SPACE <q 2 ENTER <q 6 DELETE &kp ENTER >; label = "Qwery"; sensor-bindings = <&inc_dec_kp C_VOLUME_UP C_VOLUME_DOWN>; }; Navi { bindings = < &trans &trans &trans &kp HOME &kp PAGE_UP &kp C_VOLUME_UP &trans &kp C_BRIGHTNESS_INC &trans &kp UP_ARROW &trans &trans &trans &trans &kp LEFT_GUI &kp LEFT_ALT &kp LEFT_CONTROL &kp LEFT_SHIFT &kp C_VOLUME_DOWN &trans &kp C_BRIGHTNESS_DEC &kp LEFT_ARROW &kp DOWN_ARROW &kp RIGHT_ARROW &trans &trans &trans &trans &trans &kp END &kp PAGE_DOWN &kp K_MUTE &trans &kp C_BRIGHTNESS_AUTO &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans >; sensor-bindings = <&inc_dec_kp RIGHT_ARROW LEFT_ARROW>; }; Symbol { bindings = < &trans &kp EXCLAMATION &kp AT_SIGN &kp HASH &kp DOLLAR &kp PERCENT &trans &kp LCTRL &kp AMPERSAND &kp ASTERISK &kp LEFT_PARENTHESIS &kp RIGHT_PARENTHESIS &trans &trans &kp ESCAPE &kp CAPSLOCK &kp HOME &kp END &kp UNDERSCORE &trans &kp MINUS &kp RIGHT_SHIFT &kp PAGE_UP &kp PAGE_DOWN &kp INSERT &trans &trans &kp BACKSPACE &trans &trans &trans &trans &trans &trans &trans &trans &trans &kp DELETE &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans >; label = "Symbol"; }; Modify { bindings = < &trans &kp NUMBER_1 &kp NUMBER_2 &kp NUMBER_3 &kp NUMBER_4 &kp NUMBER_5 &trans &kp NUMBER_6 &kp NUMBER_7 &kp NUMBER_8 &kp NUMBER_9 &kp NUMBER_0 &trans &trans &kp LG(A) &kp LG(S) &kp LG(D) &kp LG(F) &kp LEFT_BRACKET &trans &kp RIGHT_BRACKET &kp RIGHT_SHIFT &kp RIGHT_CONTROL &kp RIGHT_ALT &kp RIGHT_GUI &trans &trans &kp LG(Z) &kp LG(X) &kp LG(C) &kp LG(V) &kp LEFT_BRACE &trans &kp RIGHT_BRACE &kp F1 &kp F2 &kp F3 &kp F4 &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans >; label = "Modify"; }; Flash { bindings = < &flash_macro &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 &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &bt BT_CLR &trans &trans &trans &trans &bt BT_CLR_ALL &trans &trans &trans &trans &trans &trans &trans &trans &trans >; label = "Flash"; }; Rgb { bindings = < &ext_power EP_TOG &trans &trans &trans &trans &rgb_ug RGB_SPI &rgb_ug RGB_HUI &rgb_ug RGB_SPD &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &rgb_ug RGB_EFR &rgb_ug RGB_HUD &rgb_ug RGB_EFF &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &rgb_ug RGB_SAI &trans &trans &trans &trans &trans &trans &to 0 &trans &trans &trans &rgb_ug RGB_SAD &trans &trans &trans &rgb_ug RGB_TOG >; label = "Rgb"; sensor-bindings = <&rgb_encoder>; }; Mouse { 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 &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans >; label = "Mouse"; }; }; conditional_layers { compatible = "zmk,conditional-layers"; Flash { if-layers = <3 2>; then-layer = <4>; }; }; };