/*
 * Copyright (c) 2020 The ZMK Contributors
 *
 * SPDX-License-Identifier: MIT
 */

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

#define DEFAULT 0
#define NUM_SYM 1
#define NAV     2

/ {
    behaviors {
        hm: homerow_mods {
            compatible = "zmk,behavior-hold-tap";
            #binding-cells = <2>;
            tapping-term-ms = <225>;
            flavor = "tap-preferred";
            bindings = <&kp>, <&kp>;
        };
    };
};

/ {
    keymap {
        compatible = "zmk,keymap";

        default_layer {
            display-name = "Default Layer";
            bindings = <
    &kp Q      &kp W      &kp E       &kp R       &kp T  &kp Y  &kp U       &kp I       &kp O      &kp P
    &hm LGUI A &hm LALT S &hm LCTRL D &hm LSHFT F &kp G  &kp H  &hm RSHFT J &hm RCTRL K &hm RALT L &hm RGUI RET
    &kp Z                 &kp X       &kp C       &kp V  &kp B  &kp N       &kp M       &kp COMMA  &kp DOT
    &kp LSHFT  &kp LGUI   &kp LALT       &lt NAV RET    &lt NUM_SYM SPACE   &kp COLON   &kp SQT    &kp FSLH
            >;
        };
        num_sym {
            display-name = "Num Sym";
            bindings = <
    &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      &kp EQUAL &kp MINUS
    &kp DEL               &none      &none      &none  &none  &none      &none       &none     &kp DOT
    &bootloader &sys_reset    &none         &trans        &trans             &kp RET     &trans    &kp FSLH
            >;
        };

    nav {
            display-name = "Nav";
            bindings = <
    &bt BT_CLR &bt BT_NXT &bt BT_PRV &none       &none &none &none       &kp UP       &none     &kp BSPC
    &trans     &trans     &trans     &trans      &none &none &kp LEFT    &kp DOWN     &kp RIGHT &none
    &none                 &none      &none       &none &none &none       &none        &none     &none
    &none      &none      &none         &trans        &trans             &kp RET      &trans    &kp FSLH
            >;
        };
    };
};
