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

/ {
    conditional_layers {
        compatible = "zmk,conditional-layers";
        tri_layer {
            if-layers = <1 2>;
            then-layer = <3>;
        };
    };

    keymap {
        compatible = "zmk,keymap";
        default_layer {
            bindings = <
                &kp A &kp B
                &mo 1 &mo 2
            >;
        };
        layer_1 {
            bindings = <
                &kp C &kp D
                &trans &trans
            >;
        };
        layer_2 {
            bindings = <
                &kp E &kp F
                &trans &trans
            >;
        };
        layer_3 {
            bindings = <
                &kp G &kp H
                &trans &trans
            >;
        };
    };
};

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