#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [0] = LAYOUT(
        KC_ESC, LCTL(LSFT(KC_F1)), LCTL(LSFT(KC_F4)), LCTL(LALT(KC_E)), KC_F10, LCTL(LSFT(KC_F9)),
        LCTL(LALT(KC_M)), LCTL(KC_T), LCTL(LSFT(KC_M)), LCTL(KC_J), LCTL(KC_0), LCTL(LSFT(KC_A)),
        LCTL(LALT(KC_P)), LCTL(KC_3), LCTL(KC_5), LCTL(KC_7), LCTL(KC_8), LCTL(LSFT(KC_1)), LCTL(KC_F1),
        KC_LSFT, LCTL(LSFT(KC_3)), LCTL(LSFT(KC_5)), LCTL(LSFT(KC_8)), LCTL(LALT(KC_0)), LCTL(LALT(KC_3)), LCTL(KC_F4),
        KC_LCTL, FN_MO13, FN_MO23, LCTL(KC_Z), LCTL(KC_C), LCTL(KC_G), KC_DEL),

    [1] = LAYOUT(
        KC_TRNS, LCTL(LSFT(KC_F2)), LCTL(LSFT(KC_F5)), LCTL(LSFT(KC_F6)), LCTL(LSFT(KC_F8)), LCTL(LSFT(KC_F10)),
        LCTL(LALT(KC_3)), LCTL(LSFT(KC_S)), LCTL(LSFT(KC_R)), LCTL(LSFT(KC_J)), LCTL(KC_1), LCTL(LSFT(KC_P)),
        LCTL(LALT(KC_C)), LCTL(KC_4), LCTL(KC_6), KC_TRNS, LCTL(KC_9), LCTL(LSFT(KC_2)), LCTL(KC_F2),
        KC_TRNS, LCTL(LSFT(KC_4)), LCTL(LSFT(KC_6)), LCTL(LSFT(KC_9)), LCTL(LALT(KC_1)), KC_TRNS, LCTL(KC_M),
        KC_TRNS, KC_TRNS, KC_TRNS, LCTL(KC_Y), LCTL(KC_V), LCTL(LSFT(KC_G)), KC_TRNS),

    [2] = LAYOUT(
        KC_TRNS, LCTL(LSFT(KC_F3)), KC_TRNS, LCTL(LSFT(KC_F7)), KC_TRNS, KC_TRNS,
        LCTL(KC_S), KC_TRNS, KC_TRNS, KC_TRNS, LCTL(KC_2), KC_TRNS,
        LCTL(KC_E), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LCTL(KC_F3),
        KC_TRNS, KC_TRNS, LCTL(LSFT(KC_7)), KC_TRNS, LCTL(LALT(KC_2)), KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, LCTL(KC_U), LCTL(KC_X), LCTL(KC_A), KC_TRNS),

    [3] = LAYOUT(
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),

    [4] = LAYOUT(
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),

    [5] = LAYOUT(
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),

    [6] = LAYOUT(
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),

    [7] = LAYOUT(
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),

};
