/* * Copyright (c) 2023 The ZMK Contributors * * SPDX-License-Identifier: MIT */ #include #include #include #include #include #define TIMEOUT 300 &encoder_1 { status = "okay"; }; / { combos { compatible = "zmk,combos"; combo_btclr { timeout-ms = ; key-positions = <1 6>; bindings = <&bt BT_CLR>; }; combo_lock { timeout-ms = ; key-positions = <1 7>; bindings = <&tog 2>; }; combo_reset { timeout-ms = ; key-positions = <1 3>; bindings = <&reset>; }; combo_bootloader { timeout-ms = ; key-positions = <1 15>; bindings = <&bootloader>; }; combo_bt_nxt { timeout-ms = ; key-positions = <1 4>; bindings = <&bt BT_NXT>; }; }; sensors { compatible = "zmk,keymap-sensors"; sensors = <&encoder_1>; }; keymap0: keymap { compatible = "zmk,keymap"; default_layer { label = "default layer"; bindings = < &kp C_MUTE &kp ESC &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 BSLH &kp BSPC &kp PG_UP &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_DN &mo 1 &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp APOS &kp ENTER &kp LSHFT &kp Z &kp X &kp C &kp V &kp B &kp B &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp UP &kp RSHFT &kp LCTRL &kp LGUI &kp LALT &kp SPACE &mo 1 &kp SPACE &kp RALT &mo 1 &kp LEFT &kp DOWN &kp RIGHT >; sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN>; }; fn_layer { label = "fn layer"; bindings = < &tog 2 &trans &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 &bootloader &trans &bt BT_SEL 0 &bt BT_SEL 1 &bt BT_SEL 2 &bt BT_SEL 3 &trans &trans &trans &trans &trans &trans &trans &trans &trans &bt BT_NXT &kp CAPS &kp KP_NUM &kp SLCK &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans &bt BT_CLR &trans &trans &trans &trans &trans &trans &trans &trans &trans &kp PG_UP &trans &trans &trans &rgb_ug RGB_BRD &rgb_ug RGB_EFR &ext_power EP_TOG &rgb_ug RGB_EFF &rgb_ug RGB_BRI &trans &kp HOME &kp PG_DN &kp END >; sensor-bindings = <&inc_dec_kp PG_UP PG_DN>; }; lock_layer { label = "fn layer"; bindings = < &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none &none >; sensor-bindings = <&inc_dec_kp PG_UP PG_DN>; }; }; };