/*
 * 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>

&led_strip {
    chain-length = <1>;
};

/ {
	behaviors {
		tildeesc: tilde_escape {
			compatible = "zmk,behavior-mod-morph";
			label = "TILDE_ESCAPE";
			#binding-cells = <0>;
			bindings = <&kp ESC>, <&kp TILDE>;
            mods = <(MOD_LSFT)>;
		};

		ht: hold_tap {
            compatible = "zmk,behavior-hold-tap";
            label = "HOLD_TAP";
            #binding-cells = <2>;
            tapping_term_ms = <150>;
            flavor = "tap-preferred";
            bindings = <&kp>, <&kp>;
        };
	};

	keymap {
		compatible = "zmk,keymap";

		default_layer {
			bindings = <
&tildeesc    &kp Q    &kp W    &kp E &kp R &kp T &kp Y     &kp U &kp I          &ht MINUS O  &ht EQUAL P   &none &kp BSPC
&kp TAB      &kp A    &kp S    &kp D &kp F &kp G &kp H     &kp J &kp K          &kp L        &ht APOS SEMI       &ht BSLH RET
&kp LSHFT    &kp Z    &kp X    &kp C &kp V &kp B &kp N     &kp M &ht LBKT COMMA &ht RBKT DOT                     &mt RSHFT FSLH
&kp LCTRL    &kp LGUI &kp LALT &mo 2             &kp SPACE &mo 1 &kp RCTL       &kp RALT                         &kp RGUI
			>;
		};

		function_layer {
			bindings = <
&kp GRAVE &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6    &kp N7    &kp N8   &kp N9   &kp N0  &none &kp DEL
&kp F1    &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7    &kp F8    &kp F9   &kp F10  &kp F11       &kp F12
&none     &trans &trans &trans &trans &trans &trans    &trans    &trans   &trans                 &trans
&trans    &trans &trans &trans                         &trans    &trans   &trans   &trans        &trans
			>;
		};

		other_layer {
			bindings = <
&trans     &trans     &kp PG_UP  &kp UP    &kp PG_DN &trans    &trans &trans           &trans       &trans &trans &none &kp DEL
&trans     &trans     &kp LEFT   &kp DOWN  &kp RIGHT &trans    &trans &trans           &trans       &trans &trans       &kp INSERT
&none      &trans     &kp HOME   &trans    &kp END   &trans    &trans &trans           &bootloader  &reset              &kp PSCRN
&bt BT_CLR &bt BT_NXT &bt BT_PRV &trans                        &trans &kp C_PLAY_PAUSE &kp C_VOL_UP &kp C_VOL_DN        &kp C_MUTE
			>;
		};

	};
};