/*
 * Copyright (c) 2022 The ZMK Contributors
 *
 * SPDX-License-Identifier: MIT
 */
 
#include <dt-bindings/zmk/keys.h>
#include <behaviors.dtsi>
#include <dt-bindings/zmk/kscan_mock.h>

/ {
	macros {
		ZMK_MACRO(
			mo_mod_macro,
			wait-ms = <0>;
			tap-ms = <20>;
			bindings
				= <&macro_press &mo 1 &kp LSHFT>
				, <&macro_pause_for_release>
				, <&macro_release &mo 1 &kp LSHFT>;
		)
	};

	behaviors {
        mth: macro_tap_hold {
            compatible = "zmk,behavior-hold-tap";
            label = "MACRO_TAP_HOLD";
            #binding-cells = <2>;
            flavor = "tap-unless-interrupted";
            tapping-term-ms = <200>;
            bindings = <&mo_mod_macro>, <&kp>;
        };
	};

	keymap {
		compatible = "zmk,keymap";
		label ="Default keymap";

		default_layer {
			bindings = <
				&mth 0 TAB &kp A
				&kp B &kp C>;
		};

		extra_layer {
			bindings = <
				&kp D &kp E
				&kp F &kp G>;

		};

	};
};

&kscan {
	events = <ZMK_MOCK_PRESS(0,0,20) ZMK_MOCK_PRESS(0,1,10) ZMK_MOCK_RELEASE(0,1,10) ZMK_MOCK_RELEASE(0,0,1000)>;
};