Untitled

mail@pastecode.io avatar
unknown
plain_text
a year ago
7.7 kB
12
Indexable
/*
 * Copyright (c) 2022 The ZMK Contributors
 *
 * SPDX-License-Identifier: MIT
 */

#include <behaviors.dtsi>
#include <dt-bindings/zmk/bt.h>
#include <dt-bindings/zmk/ext_power.h>
#include <dt-bindings/zmk/keys.h>
#include <dt-bindings/zmk/keys.h>

/ {
    behaviors {
        td_sk: tap_dance_sticky_keys {
            compatible = "zmk,behavior-tap-dance";
            label = "TAP_DANCE_STICKY_KEYS";
            #binding-cells = <0>;
            tapping-term-ms = <200>;
            bindings =
                <&sk LSHIFT>,
                <&kp CAPSLOCK>;
        };
    };

    keymap {
        compatible = "zmk,keymap";

        default_layer {
            // ------------------------------------------------------------------------------------------------------------
            // |  ESC  |  1  |  2  |  3   |  4   |  5   |                   |  6   |  7    |  8    |  9   |   0   |   `   |
            // |  TAB  |  Q  |  W  |  E   |  R   |  T   |                   |  Y   |  U    |  I    |  O   |   P   |   -   |
            // |  CTRL |  A  |  S  |  D   |  F   |  G   |                   |  H   |  J    |  K    |  L   |   ;   |   '   |
            // | SHIFT |  Z  |  X  |  C   |  V   |  B   |   "["  |  |  "]"  |  N   |  M    |  ,    |  .   |   /   | SHIFT |
            //                     | ALT  | GUI  | LOWER|  SPACE |  | ENTER | RAISE| BSPC  | GUI   |

            bindings = <
         &kp ESC  &kp N1  &kp N2    &kp N3    &kp N4  &kp N5                         &kp N6  &kp N7         &kp N8   &kp N9    &kp N0      &kp GRAVE
         &kp TAB   &kp Q   &kp W     &kp E     &kp R   &kp T                          &kp Y   &kp U          &kp I    &kp O     &kp P      &kp MINUS
          &td_sk   &kp A   &kp S     &kp D     &kp F   &kp G                          &kp H   &kp J          &kp K    &kp L  &kp SEMI        &kp SQT
&kp LEFT_CONTROL   &kp Z   &kp X     &kp C     &kp V   &kp B      &mo 4  &kp K_MUTE   &kp N   &kp M      &kp COMMA  &kp DOT  &kp FSLH  &kp BACKSPACE
                                  &kp LALT  &kp LGUI   &mo 1  &kp SPACE     &kp RET   &mo 2   &mo 3  &kp RIGHT_ALT
            >;

            sensor-bindings =
                <&inc_dec_kp C_VOL_DN C_VOLUME_UP>,
                <&inc_dec_kp C_VOL_DN C_VOLUME_UP>;
        };

        lower_layer {
            // ------------------------------------------------------------------------------------------------------------
            // | BTCLR | BT1 | BT2 |  BT3 |  BT4 |  BT5 |                   |      |       |       |      |       |       |
            // |  F1   |  F2 |  F3 |  F4  |  F5  |  F6  |                   |  F7  |  F8   |  F9   |  F10 |  F11  |  F12  |
            // |   `   |  !  |  @  |  #   |  $   |  %   |                   |  ^   |  &    |  *    |  (   |   )   |   ~   |
            // |       |     |     |      |      |      |        |  |       |      |  _    |  +    |  {   |   }   |  "|"  |
            //                     |      |      |      |        |  |       |      |       |       |

            bindings = <
&bt BT_CLR      &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
 &kp GRAVE            &kp N1             &kp N2             &kp N3        &kp N4        &kp N5                     &kp N6    &kp N7    &kp N8             &kp N9     &kp N0     &trans
    &trans            &trans             &trans             &trans        &trans        &trans                     &trans    &trans    &trans             &trans     &trans  &kp TILDE
    &trans  &ext_power EP_ON  &ext_power EP_OFF  &ext_power EP_TOG        &trans        &trans  &trans  &trans  &kp MINUS  &kp PLUS  &kp LBKT  &kp RIGHT_BRACKET  &kp EQUAL   &kp PIPE
                                                            &trans        &trans        &trans  &trans  &trans     &trans    &trans    &trans
            >;

            sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN>;
        };

        raise_layer {
            // ------------------------------------------------------------------------------------------------------------
            // |       |     |     |      |      |      |                   |      |       |       |      |       |       |
            // |   `   |  1  |  2  |  3   |  4   |  5   |                   |  6   |   7   |   8   |  9   |   0   |       |
            // |   F1  |  F2 |  F3 |  F4  |  F5  |  F6  |                   |      |   <-  |   v   |  ^   |  ->   |       |
            // |   F7  |  F8 |  F9 |  F10 |  F11 |  F12 |        |  |       |  +   |   -   |   =   |  [   |   ]   |   \   |
            //                     |      |      |      |        |  |       |      |       |       |

            bindings = <
   &trans           &trans       &trans    &trans      &trans       &trans                     &trans         &trans          &trans                &trans                 &trans  &trans
&kp GRAVE  &kp EXCLAMATION  &kp AT_SIGN  &kp HASH  &kp DOLLAR  &kp PERCENT                  &kp CARET  &kp AMPERSAND    &kp ASTERISK  &kp LEFT_PARENTHESIS  &kp RIGHT_PARENTHESIS  &trans
   &kp F1           &kp F2       &kp F3    &kp F4      &kp F5       &kp F6                     &trans       &kp LEFT        &kp DOWN                &kp UP              &kp RIGHT  &trans
   &kp F7           &kp F8       &kp F9   &kp F10     &kp F11      &kp F12  &trans  &trans     &trans         &trans  &kp LEFT_BRACE       &kp RIGHT_BRACE          &kp SEMICOLON  &trans
                                           &trans      &trans       &trans  &trans  &trans     &trans         &trans          &trans
            >;

            sensor-bindings = <&inc_dec_kp C_VOL_UP C_VOL_DN>;
        };

        code_layer {
            bindings = <
&trans  &trans                &trans                &trans                &trans           &trans                             &trans                  &trans                  &trans                &trans                   &trans  &trans
&trans  &trans                &trans                &trans                &trans           &trans                             &trans      &kp LC(LEFT_ARROW)      &kp LC(DOWN_ARROW)      &kp LC(UP_ARROW)      &kp LC(RIGHT_ARROW)  &trans
&trans  &trans  &kp LG(LS(NUMBER_4))            &kt C_MUTE     &kp C_VOLUME_DOWN  &kp C_VOLUME_UP                  &kp LA(LC(ENTER))  &kp LA(LC(LEFT_ARROW))  &kp LA(LC(DOWN_ARROW))  &kp LA(LC(UP_ARROW))  &kp LA(LC(RIGHT_ARROW))  &trans
&trans  &trans        &kp LG(LS(N5))  &kp C_BRIGHTNESS_DEC  &kp C_BRIGHTNESS_INC           &trans  &trans  &trans             &trans          &kp C_PREVIOUS        &kp C_PLAY_PAUSE            &kp C_NEXT                   &trans  &trans
                                                    &trans                &trans           &trans  &trans  &trans             &trans                  &trans                  &trans
            >;
        };

        super_layer {
            bindings = <
&trans  &trans  &trans  &trans  &trans  &trans                   &kp KP_NUMLOCK    &kp KP_DIVIDE  &kp KP_ASTERISK  &kp KP_SUBTRACT  &trans  &trans
&trans  &trans  &trans  &trans  &trans  &trans                  &kp KP_NUMBER_7  &kp KP_NUMBER_8  &kp KP_NUMBER_9      &kp KP_PLUS  &trans  &trans
&trans  &trans  &trans  &trans  &trans  &trans                  &kp KP_NUMBER_4  &kp KP_NUMBER_5  &kp KP_NUMBER_6     &kp KP_ENTER  &trans  &trans
&trans  &trans  &trans  &trans  &trans  &trans  &trans  &trans  &kp KP_NUMBER_1  &kp KP_NUMBER_2  &kp KP_NUMBER_3           &trans  &trans  &trans
                        &trans  &trans  &trans  &trans  &trans  &kp KP_NUMBER_0       &kp KP_DOT           &trans
            >;
        };
    };
};