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

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

&encoder_1_top_row {
    status = "disabled";
};

&encoder_4 {
    status = "okay";
};

&pro_micro_i2c {
	status = "okay";
};

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

    keymap {
        compatible = "zmk,keymap";
        navigation_layer {
            // &rgb_ug RGB_COLOR_HSB(215, 100, 50)
            label = "Nav";
            // activate-behaviors = <
	        //     &rgb_ug RGB_COLOR_HSB(215, 100, 50)
			// >;

            // deactivate-behaviors = <
            //     &rgb_ug RGB_COLOR_HSB(0, 100, 50)
            // >;

            bindings = <
                           &to 1    &to 2     &to 3
                &kp PG_UP  &kp UP   &kp PG_DN &kp LG(E)
                &kp LEFT   &kp DOWN &kp RIGHT &kp SPACE
                &kp HOME   &kp BSPC &kp END   &kp ENTER
                &kp C_MUTE &kp ESC  &none     &kp LA(F4)
            >;

            sensor-bindings = <&inc_dec_kp C_VOLUME_UP C_VOLUME_DOWN>;
        };
        mouse_layer {
            // &rgb_ug RGB_COLOR_HSB(275, 100, 50)
            label = "Mouse";
            bindings = <
                           &to 0             &to 2           &to 3
                &rgb_ug RGB_COLOR_HSB(215, 100, 50)      &rgb_ug RGB_COLOR_HSB(275, 100, 50)             &none           &kp LC(LA(TAB))
                &none      &none             &none           &kp LG(DOWN_ARROW)
                &kp ESCAPE &none             &none           &none
                &kp C_MUTE &kp C_VOLUME_DOWN &kp C_VOLUME_UP &none
            >;

            sensor-bindings = <&inc_dec_kp C_VOLUME_UP C_VOLUME_DOWN>;
        };
        num_pad_layer {
            // &rgb_ug RGB_COLOR_HSB(35, 100, 50)
            label = "Num Pad";
            bindings = <
                                &to 0           &kp KP_NUMLOCK  &kp KP_SLASH
                &kp KP_NUMBER_7 &kp KP_NUMBER_8 &kp KP_NUMBER_9 &kp KP_ASTERISK
                &kp KP_NUMBER_4 &kp KP_NUMBER_5 &kp KP_NUMBER_6 &kp KP_MINUS
                &kp KP_NUMBER_1 &kp KP_NUMBER_2 &kp KP_NUMBER_3 &kp KP_PLUS
                &kp C_MUTE      &kp KP_NUMBER_0 &kp KP_DOT      &kp KP_ENTER
            >;

            sensor-bindings = <&inc_dec_kp C_VOLUME_UP C_VOLUME_DOWN>;
        };

         zmk_layer {
             // &rgb_ug RGB_COLOR_HSB(0, 100, 50)
             label = "ZMK";
             bindings = <
                                &to 0           &reset          &bootloader
                &rgb_ug RGB_HUD &rgb_ug RGB_HUI &rgb_ug RGB_BRD &rgb_ug RGB_BRI
                &none           &none           &none           &none
                &ext_power EXT_POWER_TOGGLE_CMD &rgb_ug RGB_TOG &out OUT_TOG &none
                &kp C_MUTE      &bt BT_PRV      &bt BT_NXT      &bt BT_CLR
             >;

            sensor-bindings = <&inc_dec_kp C_VOLUME_UP C_VOLUME_DOWN>;
         };
    };
};
