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

/ {
	sensors {
		compatible = "zmk,keymap-sensors";
		sensors = <&encoder_1>;
	};

	keymap {
		compatible = "zmk,keymap";

		default_layer {
			label = "Default";

			sensor-bindings = <&inc_dec_kp C_VOLUME_UP C_VOLUME_DOWN>;

			bindings = <
            &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 BSPC &kp HOME
&kp C_MUTE  &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 DEL
&trans      &kp CLCK  &kp A     &kp S     &kp D     &kp F     &kp G     &kp H     &kp J     &kp K   &kp L     &kp SEMI  &kp SQT             &kp RET  &kp PG_UP
&trans      &kp LSHFT &trans    &kp Z     &kp X     &kp C     &kp V     &kp B     &kp N     &kp M   &kp COMMA &kp DOT   &kp FSLH  &kp RSHFT &kp UP   &kp PG_DN
&trans      &kp LCTRL &kp LGUI  &kp LALT                      &kp SPACE                     &mo 1   &kp RALT  &kp RCTRL &kp LEFT            &kp DOWN &kp RIGHT
			>;
		};
		function_layer {
			label = "Function";
			
			sensor-bindings = <&inc_dec_kp C_VOLUME_UP C_VOLUME_DOWN>;

			bindings = <
            &kp TILDE &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 END
&kp C_MUTE  &trans    &trans    &trans    &trans    &trans    &trans    &trans    &trans    &trans  &trans    &trans    &trans    &trans    &trans   &bootloader
&bt BT_CLR  &trans    &trans    &trans    &trans    &trans    &trans    &trans    &trans    &trans  &trans    &trans    &trans              &trans   &trans
&bt BT_PRV  &trans    &trans    &trans    &trans    &trans    &trans    &trans    &trans    &trans  &trans    &trans    &trans    &trans    &trans   &trans
&bt BT_NXT  &trans    &trans    &trans                        &trans                        &trans  &trans    &trans    &kp C_PREV          &kp C_PP &kp C_NEXT
			>;
		};
	};
};
