/*
 * 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>
#include <dt-bindings/zmk/outputs.h>

/ {
    keymap {
        compatible = "zmk,keymap";

        default {
// --------------------------------------------------------------------------------------------------------------------------------------------------------------------
//  Q    |  W  |  E  |  R  |  T  | |  Y  |  U  |  I  |    O    |  P   | 
//  A    |  S  |  D  |  F  |  G  | |  H  |  J  |  K  |    L    |  ;   | 
// Lsft/Z|  X  |  C  |  V  |  B  | |  N  |  M  |  ,  |    .    |Rsft//| 
//      | LCTL | Bspc/LMOD | SPC | | Del/Num | Ent | Sym |
           bindings = <
            &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P
            &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI
            &mt LSHFT Z &kp X &kp C &kp V &kp B &kp N &kp M &kp COMMA &kp DOT &mt RSHFT FSLH
            &kp LCTRL &mt LGUI BSPC &kp SPACE &lt 1 DEL &kp RET &mo 2
            >;
        };
        numbers {
// --------------------------------------------------------------------------------------------------------------------------------------------------------------------
//  1  |    2   |  3     |  4  |  5  | |  6  |  7  |  8  |  9  |  0  |  
// TAB | BT_PRV | BT_NXT | VOL-| VOL+| |  <  |  v  |  ∧  |  >  |  '  |
// Lsft| BT_SEL0| BT_CLR | MUTE|     | | HOME| END | PGUP| PGDN| Rsft|
//               | LCTL | LMOD| LALT | | Num |     | BL-reset |
           bindings = <
            &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0
            &kp TAB &bt BT_PRV &bt BT_NXT &kp C_VOL_DN &kp C_VOL_UP &kp LEFT &kp DOWN &kp UP &kp RIGHT &kp SQT
            &kp LSHFT &bt BT_SEL 0 &bt BT_CLR &kp C_MUTE &none &kp HOME &kp END &kp PG_UP &kp PG_DN &kp RSHFT
            &kp LCTRL &kp LGUI &kp LALT &trans &none &bootloader
            >;
        };
        symbols {
// --------------------------------------------------------------------------------------------------------------------------------------------------------------------
// ESC |  F1 |  F2 |  F3 |  F4 | | OUT_USB | OUT_BLE |        |  =  |  -   | 
// CAPS|  F5 |  F6 |  F7 |  F8 | |    [    |    ]    |        |  `  |  \   | 
// LSFT|  F9 | F10 | F11 | F12 | |         |         |        |     | RSFT |
//         | LCTL | LMOD| LALT | |  RESET  |         |   SYM  |
           bindings = <
            &kp ESC &kp F1 &kp F2 &kp F3 &kp F4 &out OUT_USB &out OUT_BLE &none  &kp EQUAL &kp MINUS
            &kp CAPS &kp F5 &kp F6 &kp F7 &kp F8 &kp LBKT &kp RBKT &none &kp GRAVE &kp BSLH
            &kp LSHFT &kp F9 &kp F10 &kp F11 &kp F12 &none &none &none &kp RSHFT
            &kp LCTRL &kp LGUI &kp LALT &reset &none &trans
           >;
        };
    };
};