~ruther/qmk_firmware

d83578dbe4df0e77112b673265445d37fd231b93 — Ryan 2 years ago 4928f4c
kyria: remove `LAYOUT_stack` (#21384)

M keyboards/splitkb/kyria/keymaps/rmw/keymap.c => keyboards/splitkb/kyria/keymaps/rmw/keymap.c +40 -80
@@ 18,100 18,60 @@

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

    [QWERTY] = LAYOUT_stack(
        KC_TAB   , KC_Q,   KC_W,   KC_E,   KC_R,   KC_T,
        OSL(EDIT), KC_A, LT(NUMPAD,KC_S), KC_D, LT(FSYM,KC_F), KC_G,
        TD(FRBK2)  , KC_Z,   KC_X,   KC_C,   KC_V,   KC_B,  TO(EDIT), KC_ESCAPE,
                            TO(ADJUST), TD(SGCA), TD(AGC), KC_BSPC, TD(SHNTC),

                                KC_Y,    KC_U,       KC_I, KC_O,      KC_P,        KC_BSLS,
                                KC_H, LT(JSYM,KC_J), KC_K, KC_L, LT(EDIT,KC_SCLN), KC_QUOT,
            KC_DEL, TO(NUMPAD),  KC_N, KC_M,     KC_COMM, KC_DOT, LT(MEDIA,KC_SLSH), KC_MS_BTN1,
            SFTENT,  KC_SPC,   TD(GCA), TD(CTLALL), KC_CAPS
    [QWERTY] = LAYOUT_split_3x6_5(
        KC_TAB   , KC_Q,   KC_W,   KC_E,   KC_R,   KC_T, KC_Y,    KC_U,       KC_I, KC_O,      KC_P,        KC_BSLS,
        OSL(EDIT), KC_A, LT(NUMPAD,KC_S), KC_D, LT(FSYM,KC_F), KC_G, KC_H, LT(JSYM,KC_J), KC_K, KC_L, LT(EDIT,KC_SCLN), KC_QUOT,
        TD(FRBK2)  , KC_Z,   KC_X,   KC_C,   KC_V,   KC_B,  TO(EDIT), KC_ESCAPE, KC_DEL, TO(NUMPAD),  KC_N, KC_M,     KC_COMM, KC_DOT, LT(MEDIA,KC_SLSH), KC_MS_BTN1,
                            TO(ADJUST), TD(SGCA), TD(AGC), KC_BSPC, TD(SHNTC), SFTENT,  KC_SPC,   TD(GCA), TD(CTLALL), KC_CAPS
    ),

    [MINIMAK4] = LAYOUT_stack(
        KC_TAB   , KC_Q,   KC_W,   KC_D,   KC_R,   KC_K,
        OSL(EDIT), KC_A, LT(NUMPAD,KC_S), KC_T, LT(FSYM,KC_F), KC_G,
        OSM(MOD_LSFT)  , KC_Z,   KC_X,   KC_C,   KC_V,   KC_B,  TO(EDIT), KC_ESCAPE,
                                _______, TO(ADJUST), TD(SGCA), KC_BSPC, TD(SHNTC),

                                KC_Y,    KC_U,       KC_I, KC_O,      KC_P,        KC_PIPE,
                                KC_H, LT(JSYM,KC_J), KC_E, KC_L, LT(EDIT,KC_SCLN), KC_QUOT,
                KC_DEL, TO(NUMPAD),   KC_N, KC_M,     KC_COMM, KC_DOT, LT(MEDIA,KC_SLSH), KC_MINS,
                SFTENT,  KC_SPC,   TD(GCA), TD(CTLALL), _______
    [MINIMAK4] = LAYOUT_split_3x6_5(
        KC_TAB   , KC_Q,   KC_W,   KC_D,   KC_R,   KC_K, KC_Y,    KC_U,       KC_I, KC_O,      KC_P,        KC_PIPE,
        OSL(EDIT), KC_A, LT(NUMPAD,KC_S), KC_T, LT(FSYM,KC_F), KC_G, KC_H, LT(JSYM,KC_J), KC_E, KC_L, LT(EDIT,KC_SCLN), KC_QUOT,
        OSM(MOD_LSFT)  , KC_Z,   KC_X,   KC_C,   KC_V,   KC_B,  TO(EDIT), KC_ESCAPE, KC_DEL, TO(NUMPAD),   KC_N, KC_M,     KC_COMM, KC_DOT, LT(MEDIA,KC_SLSH), KC_MINS,
                                _______, TO(ADJUST), TD(SGCA), KC_BSPC, TD(SHNTC), SFTENT,  KC_SPC,   TD(GCA), TD(CTLALL), _______
    ),

    [NUMPAD] = LAYOUT_stack(
        _______, _______, _______,  _______, _______, _______,
        _______, _______, _______,  _______, _______, _______,
        _______, _______, _______,  _______, _______, _______, TO(QWERTY), _______,
                                    _______, _______, _______,  _______  , _______,

                                    _______, KC_7,     KC_8,    KC_9,  KC_KP_MINUS, _______,
                                    _______, KC_4,     KC_5,    KC_6,  KC_KP_PLUS , _______,
                _______, TO(EDIT), _______, KC_1,  KC_2,  KC_3, KC_KP_SLASH, LCTL(KC_RIGHT),
                _______,  _______, KC_0, KC_DOT, _______
    [NUMPAD] = LAYOUT_split_3x6_5(
        _______, _______, _______,  _______, _______, _______, _______, KC_7,     KC_8,    KC_9,  KC_KP_MINUS, _______,
        _______, _______, _______,  _______, _______, _______, _______, KC_4,     KC_5,    KC_6,  KC_KP_PLUS , _______,
        _______, _______, _______,  _______, _______, _______, TO(QWERTY), _______, _______, TO(EDIT), _______, KC_1,  KC_2,  KC_3, KC_KP_SLASH, LCTL(KC_RIGHT),
                                    _______, _______, _______,  _______  , _______, _______,  _______, KC_0, KC_DOT, _______
    ),

    [EDIT] = LAYOUT_stack(
        _______, TASK_MAN, _______, SELW_LEFT, SELW_RIGHT, _______,
        _______, _______ , LGUI(KC_GRV), MVW_LEFT,  MVW_RIGHT , _______,
        LCTL(KC_LEFT), R_UNDO, R_CUT  , R_COPY , R_PASTE, R_REDO , TO(NUMPAD), FORM_GET,
                                            _______, _______, _______, DEL_WRD, _______,

                                    NEW_TAB , KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, _______,
                                    R_HOME  , KC_LEFT, KC_DOWN, KC_RIGHT, R_END, _______,
                FORM_PUT, TO(QWERTY), SEL_HOME, S(KC_LEFT), S(KC_DOWN), S(KC_RIGHT), SEL_END, _______,
                _______, _______, _______, _______, _______
    [EDIT] = LAYOUT_split_3x6_5(
        _______, TASK_MAN, _______, SELW_LEFT, SELW_RIGHT, _______, NEW_TAB , KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, _______,
        _______, _______ , LGUI(KC_GRV), MVW_LEFT,  MVW_RIGHT , _______, R_HOME  , KC_LEFT, KC_DOWN, KC_RIGHT, R_END, _______,
        LCTL(KC_LEFT), R_UNDO, R_CUT  , R_COPY , R_PASTE, R_REDO , TO(NUMPAD), FORM_GET, FORM_PUT, TO(QWERTY), SEL_HOME, S(KC_LEFT), S(KC_DOWN), S(KC_RIGHT), SEL_END, _______,
                                            _______, _______, _______, DEL_WRD, _______, _______, _______, _______, _______, _______
    ),

    [ADJUST] = LAYOUT_stack(
        KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,  KC_F6,
        TO(QWERTY), TO(EDIT), TO(NUMPAD), TO(JSYM), TO(FSYM), TO(MEDIA),
        DF(MINIMAK4), DF(QWERTY), RGB_SAD, RGB_HUD, RGB_VAD, RGB_RMOD,_______, _______,
                                           _______, _______, _______, _______, _______,

                                KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11, KC_F12,
                                _______, _______, _______, _______, _______,  _______,
                _______, _______, _______, _______, _______, _______, _______, _______,
                _______, _______, _______, _______, _______
    [ADJUST] = LAYOUT_split_3x6_5(
        KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,  KC_F6, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11, KC_F12,
        TO(QWERTY), TO(EDIT), TO(NUMPAD), TO(JSYM), TO(FSYM), TO(MEDIA), _______, _______, _______, _______, _______,  _______,
        DF(MINIMAK4), DF(QWERTY), RGB_SAD, RGB_HUD, RGB_VAD, RGB_RMOD,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
                                           _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
    ),

    [FSYM] = LAYOUT_stack(
        _______, _______, _______, _______, _______, _______,
        _______, _______, KC_TILD, KC_EXLM, _______, _______,
        LCTL(KC_RIGHT), _______, TO(QWERTY), _______, _______, _______, _______, _______,
                                            _______, _______, _______, _______, _______,

                                KC_CIRC,  KC_AMPR , KC_ASTR, KC_GRV ,  _______, _______,
                                KC_EQUAL, KC_MINUS, KC_UNDS, KC_PIPE, KC_COLON, KC_DQT,
                _______, _______, _______, KC_PLUS,  KC_BSLS, KC_SLSH, _______, _______,
                _______, _______, _______, _______, _______
    [FSYM] = LAYOUT_split_3x6_5(
        _______, _______, _______, _______, _______, _______, KC_CIRC,  KC_AMPR , KC_ASTR, KC_GRV ,  _______, _______,
        _______, _______, KC_TILD, KC_EXLM, _______, _______, KC_EQUAL, KC_MINUS, KC_UNDS, KC_PIPE, KC_COLON, KC_DQT,
        LCTL(KC_RIGHT), _______, TO(QWERTY), _______, _______, _______, _______, _______, _______, _______, _______, KC_PLUS,  KC_BSLS, KC_SLSH, _______, _______,
                                            _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
    ),

    [JSYM] = LAYOUT_stack(
        _______, KC_GRV,  KC_AT  , KC_LCBR,     KC_RCBR,     _______,
        _______, KC_HASH, KC_DLR , KC_LPRN,     KC_RPRN,     KC_LEFT,
        _______, KC_PERC, KC_CIRC, KC_LBRC,     KC_RBRC, _______, _______, _______,
                                                _______, _______, _______, _______, _______,

                                _______, _______, _______, _______,  _______, _______,
                                _______, _______, KC_QUES, KC_SLSH, KC_COLON, _______,
                _______, _______, _______, _______, _______, TO(QWERTY), _______, LCTL(KC_LEFT),
                _______, _______, _______, _______, _______
    [JSYM] = LAYOUT_split_3x6_5(
        _______, KC_GRV,  KC_AT  , KC_LCBR,     KC_RCBR,     _______, _______, _______, _______, _______,  _______, _______,
        _______, KC_HASH, KC_DLR , KC_LPRN,     KC_RPRN,     KC_LEFT, _______, _______, KC_QUES, KC_SLSH, KC_COLON, _______,
        _______, KC_PERC, KC_CIRC, KC_LBRC,     KC_RBRC, _______, _______, _______, _______, _______, _______, _______, _______, TO(QWERTY), _______, LCTL(KC_LEFT),
                                                _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
    ),

    [MEDIA] = LAYOUT_stack(
        _______, KC_WH_U, KC_WH_L, KC_MS_UP, KC_WH_R, _______,
        _______, KC_WH_D, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, _______,
        _______, _______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, _______,
                                                _______, _______, _______, _______, _______,

                                _______, _______, _______, _______,  _______, _______,
                                _______, _______, _______, _______, _______, _______,
                _______, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU, _______,
                KC_MS_BTN1, KC_MEDIA_PLAY_PAUSE, KC_MRWD, KC_MFFD, _______
    [MEDIA] = LAYOUT_split_3x6_5(
        _______, KC_WH_U, KC_WH_L, KC_MS_UP, KC_WH_R, _______, _______, _______, _______, _______,  _______, _______,
        _______, KC_WH_D, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, _______, _______, _______, _______, _______, _______, _______,
        _______, _______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_MUTE, KC_VOLU, _______,
                                                _______, _______, _______, _______, _______, KC_MS_BTN1, KC_MEDIA_PLAY_PAUSE, KC_MRWD, KC_MFFD, _______
    )
};


M keyboards/splitkb/kyria/keymaps/uqs/keymap.c => keyboards/splitkb/kyria/keymaps/uqs/keymap.c +5 -10
@@ 22,16 22,11 @@
         R45, R46, R47,           \
         R32, R33                 \
)                                 \
LAYOUT_stack(                     \
    L00, L01, L02, L03, L04, L05,                   \
    L12, L13, L14, L15, L16, L17,                   \
    L24, L25, L26, L27, L28, L29, L30, L31,         \
                   L40, L41, L42, L43, L44,         \
                                                    \
                  R06, R07, R08, R09, R10, R11,     \
                  R18, R19, R20, R21, R22, R23,     \
        R32, R33, R34, R35, R36, R37, R38, R39,     \
        R45, R46, R47, R48, R49                     \
LAYOUT_split_3x6_5(                     \
    L00, L01, L02, L03, L04, L05,                          R06, R07, R08, R09, R10, R11, \
    L12, L13, L14, L15, L16, L17,                          R18, R19, R20, R21, R22, R23, \
    L24, L25, L26, L27, L28, L29, L30, L31,      R32, R33, R34, R35, R36, R37, R38, R39, \
                   L40, L41, L42, L43, L44,      R45, R46, R47, R48, R49 \
)

// clang-format off

M keyboards/splitkb/kyria/rev1/info.json => keyboards/splitkb/kyria/rev1/info.json +0 -61
@@ 94,67 94,6 @@
                {"matrix": [7, 3], "x": 12, "y": 3.25},
                {"matrix": [7, 4], "x": 13, "y": 3.25}
            ]
        },
        "LAYOUT_stack": {
            "layout": [
                {"matrix": [0, 7], "x": 0, "y": 0},
                {"matrix": [0, 6], "x": 1, "y": 0},
                {"matrix": [0, 5], "x": 2, "y": 0},
                {"matrix": [0, 4], "x": 3, "y": 0},
                {"matrix": [0, 3], "x": 4, "y": 0},
                {"matrix": [0, 2], "x": 5, "y": 0},

                {"matrix": [1, 7], "x": 6, "y": 0},
                {"matrix": [1, 6], "x": 7, "y": 0},
                {"matrix": [1, 5], "x": 8, "y": 0},
                {"matrix": [1, 4], "x": 9, "y": 0},
                {"matrix": [1, 3], "x": 10, "y": 0},
                {"matrix": [1, 2], "x": 11, "y": 0},

                {"matrix": [2, 7], "x": 12, "y": 0},
                {"matrix": [2, 6], "x": 13, "y": 0},
                {"matrix": [2, 5], "x": 14, "y": 0},
                {"matrix": [2, 4], "x": 15, "y": 0},
                {"matrix": [2, 3], "x": 16, "y": 0},
                {"matrix": [2, 2], "x": 17, "y": 0},
                {"matrix": [2, 1], "x": 18, "y": 0},
                {"matrix": [2, 0], "x": 19, "y": 0},

                {"matrix": [3, 4], "x": 20, "y": 0},
                {"matrix": [3, 3], "x": 21, "y": 0},
                {"matrix": [3, 2], "x": 22, "y": 0},
                {"matrix": [3, 1], "x": 23, "y": 0},
                {"matrix": [3, 0], "x": 24, "y": 0},

                {"matrix": [4, 2], "x": 25, "y": 0},
                {"matrix": [4, 3], "x": 26, "y": 0},
                {"matrix": [4, 4], "x": 27, "y": 0},
                {"matrix": [4, 5], "x": 28, "y": 0},
                {"matrix": [4, 6], "x": 29, "y": 0},
                {"matrix": [4, 7], "x": 30, "y": 0},

                {"matrix": [5, 2], "x": 31, "y": 0},
                {"matrix": [5, 3], "x": 32, "y": 0},
                {"matrix": [5, 4], "x": 33, "y": 0},
                {"matrix": [5, 5], "x": 34, "y": 0},
                {"matrix": [5, 6], "x": 35, "y": 0},
                {"matrix": [5, 7], "x": 36, "y": 0},

                {"matrix": [6, 0], "x": 37, "y": 0},
                {"matrix": [6, 1], "x": 38, "y": 0},
                {"matrix": [6, 2], "x": 39, "y": 0},
                {"matrix": [6, 3], "x": 40, "y": 0},
                {"matrix": [6, 4], "x": 41, "y": 0},
                {"matrix": [6, 5], "x": 42, "y": 0},
                {"matrix": [6, 6], "x": 43, "y": 0},
                {"matrix": [6, 7], "x": 44, "y": 0},

                {"matrix": [7, 0], "x": 45, "y": 0},
                {"matrix": [7, 1], "x": 46, "y": 0},
                {"matrix": [7, 2], "x": 47, "y": 0},
                {"matrix": [7, 3], "x": 48, "y": 0},
                {"matrix": [7, 4], "x": 49, "y": 0}
            ]
        }
    }
}

M keyboards/splitkb/kyria/rev2/info.json => keyboards/splitkb/kyria/rev2/info.json +2 -63
@@ 37,10 37,10 @@
        }
    },
    "layout_aliases": {
        "LAYOUT_split_3x6_5": "LAYOUT"
        "LAYOUT": "LAYOUT_split_3x6_5"
    },
    "layouts": {
        "LAYOUT": {
        "LAYOUT_split_3x6_5": {
            "layout": [
                {"matrix": [0, 7], "x": 0, "y": 0.75},
                {"matrix": [0, 6], "x": 1, "y": 0.75},


@@ 100,67 100,6 @@
                {"matrix": [7, 3], "x": 12, "y": 3.25},
                {"matrix": [7, 5], "x": 13, "y": 3.25}
            ]
        },
        "LAYOUT_stack": {
            "layout": [
                {"matrix": [0, 7], "x": 0, "y": 0},
                {"matrix": [0, 6], "x": 1, "y": 0},
                {"matrix": [0, 5], "x": 2, "y": 0},
                {"matrix": [0, 4], "x": 3, "y": 0},
                {"matrix": [0, 3], "x": 4, "y": 0},
                {"matrix": [0, 2], "x": 5, "y": 0},

                {"matrix": [1, 7], "x": 6, "y": 0},
                {"matrix": [1, 6], "x": 7, "y": 0},
                {"matrix": [1, 5], "x": 8, "y": 0},
                {"matrix": [1, 4], "x": 9, "y": 0},
                {"matrix": [1, 3], "x": 10, "y": 0},
                {"matrix": [1, 2], "x": 11, "y": 0},

                {"matrix": [2, 7], "x": 12, "y": 0},
                {"matrix": [2, 6], "x": 13, "y": 0},
                {"matrix": [2, 5], "x": 14, "y": 0},
                {"matrix": [2, 4], "x": 15, "y": 0},
                {"matrix": [2, 3], "x": 16, "y": 0},
                {"matrix": [2, 2], "x": 17, "y": 0},
                {"matrix": [2, 1], "x": 18, "y": 0},
                {"matrix": [2, 0], "x": 19, "y": 0},

                {"matrix": [3, 5], "x": 20, "y": 0},
                {"matrix": [3, 3], "x": 21, "y": 0},
                {"matrix": [3, 2], "x": 22, "y": 0},
                {"matrix": [3, 1], "x": 23, "y": 0},
                {"matrix": [3, 0], "x": 24, "y": 0},

                {"matrix": [4, 2], "x": 25, "y": 0},
                {"matrix": [4, 3], "x": 26, "y": 0},
                {"matrix": [4, 4], "x": 27, "y": 0},
                {"matrix": [4, 5], "x": 28, "y": 0},
                {"matrix": [4, 6], "x": 29, "y": 0},
                {"matrix": [4, 7], "x": 30, "y": 0},

                {"matrix": [5, 2], "x": 31, "y": 0},
                {"matrix": [5, 3], "x": 32, "y": 0},
                {"matrix": [5, 4], "x": 33, "y": 0},
                {"matrix": [5, 5], "x": 34, "y": 0},
                {"matrix": [5, 6], "x": 35, "y": 0},
                {"matrix": [5, 7], "x": 36, "y": 0},

                {"matrix": [6, 0], "x": 37, "y": 0},
                {"matrix": [6, 1], "x": 38, "y": 0},
                {"matrix": [6, 2], "x": 39, "y": 0},
                {"matrix": [6, 3], "x": 40, "y": 0},
                {"matrix": [6, 4], "x": 41, "y": 0},
                {"matrix": [6, 5], "x": 42, "y": 0},
                {"matrix": [6, 6], "x": 43, "y": 0},
                {"matrix": [6, 7], "x": 44, "y": 0},

                {"matrix": [7, 0], "x": 45, "y": 0},
                {"matrix": [7, 1], "x": 46, "y": 0},
                {"matrix": [7, 2], "x": 47, "y": 0},
                {"matrix": [7, 3], "x": 48, "y": 0},
                {"matrix": [7, 5], "x": 49, "y": 0}
            ]
        }
    }
}

M keyboards/splitkb/kyria/rev3/info.json => keyboards/splitkb/kyria/rev3/info.json +7 -61
@@ 16,8 16,11 @@
        "oled": true,
        "rgb_matrix": true
    },
    "layout_aliases": {
        "LAYOUT": "LAYOUT_split_3x6_5"
    },
    "layouts": {
        "LAYOUT": {
        "LAYOUT_split_3x6_5": {
            "layout": [
                {"label": "L06", "matrix": [0, 6], "x": 0, "y": 0.75},
                {"label": "L05", "matrix": [0, 5], "x": 1, "y": 0.75},


@@ 25,6 28,7 @@
                {"label": "L03", "matrix": [0, 3], "x": 3, "y": 0},
                {"label": "L02", "matrix": [0, 2], "x": 4, "y": 0.25},
                {"label": "L01", "matrix": [0, 1], "x": 5, "y": 0.5},

                {"label": "R01", "matrix": [4, 1], "x": 10.5, "y": 0.5},
                {"label": "R02", "matrix": [4, 2], "x": 11.5, "y": 0.25},
                {"label": "R03", "matrix": [4, 3], "x": 12.5, "y": 0},


@@ 38,6 42,7 @@
                {"label": "L09", "matrix": [1, 3], "x": 3, "y": 1},
                {"label": "L08", "matrix": [1, 2], "x": 4, "y": 1.25},
                {"label": "L07", "matrix": [1, 1], "x": 5, "y": 1.5},

                {"label": "R07", "matrix": [5, 1], "x": 10.5, "y": 1.5},
                {"label": "R08", "matrix": [5, 2], "x": 11.5, "y": 1.25},
                {"label": "R09", "matrix": [5, 3], "x": 12.5, "y": 1},


@@ 53,6 58,7 @@
                {"label": "L15", "matrix": [2, 1], "x": 5, "y": 2.5},
                {"label": "L14", "matrix": [3, 3], "x": 6, "y": 3},
                {"label": "L13", "matrix": [2, 0], "x": 7, "y": 3.25},

                {"label": "R13", "matrix": [6, 0], "x": 8.5, "y": 3.25},
                {"label": "R14", "matrix": [7, 3], "x": 9.5, "y": 3},
                {"label": "R15", "matrix": [6, 1], "x": 10.5, "y": 2.5},


@@ 67,66 73,6 @@
                {"label": "L23", "matrix": [3, 1], "x": 4.5, "y": 3.5},
                {"label": "L22", "matrix": [3, 5], "x": 5.5, "y": 4},
                {"label": "L21", "matrix": [3, 0], "x": 6.5, "y": 4.25},
                {"label": "R21", "matrix": [7, 0], "x": 9, "y": 4.25},
                {"label": "R22", "matrix": [7, 5], "x": 10, "y": 4},
                {"label": "R23", "matrix": [7, 1], "x": 11, "y": 3.5},
                {"label": "R24", "matrix": [7, 2], "x": 12, "y": 3.25},
                {"label": "R25", "matrix": [7, 4], "x": 13, "y": 3.25}
            ]
        },
        "LAYOUT_stack": {
            "layout": [
                {"label": "L06", "matrix": [0, 6], "x": 0, "y": 0.75},
                {"label": "L05", "matrix": [0, 5], "x": 1, "y": 0.75},
                {"label": "L04", "matrix": [0, 4], "x": 2, "y": 0.25},
                {"label": "L03", "matrix": [0, 3], "x": 3, "y": 0},
                {"label": "L02", "matrix": [0, 2], "x": 4, "y": 0.25},
                {"label": "L01", "matrix": [0, 1], "x": 5, "y": 0.5},

                {"label": "L12", "matrix": [1, 6], "x": 0, "y": 1.75},
                {"label": "L11", "matrix": [1, 5], "x": 1, "y": 1.75},
                {"label": "L10", "matrix": [1, 4], "x": 2, "y": 1.25},
                {"label": "L09", "matrix": [1, 3], "x": 3, "y": 1},
                {"label": "L08", "matrix": [1, 2], "x": 4, "y": 1.25},
                {"label": "L07", "matrix": [1, 1], "x": 5, "y": 1.5},

                {"label": "L20", "matrix": [2, 6], "x": 0, "y": 2.75},
                {"label": "L19", "matrix": [2, 5], "x": 1, "y": 2.75},
                {"label": "L18", "matrix": [2, 4], "x": 2, "y": 2.25},
                {"label": "L17", "matrix": [2, 3], "x": 3, "y": 2},
                {"label": "L16", "matrix": [2, 2], "x": 4, "y": 2.25},
                {"label": "L15", "matrix": [2, 1], "x": 5, "y": 2.5},
                {"label": "L14", "matrix": [3, 3], "x": 6, "y": 3},
                {"label": "L13", "matrix": [2, 0], "x": 7, "y": 3.25},

                {"label": "L25", "matrix": [3, 4], "x": 2.5, "y": 3.25},
                {"label": "L24", "matrix": [3, 2], "x": 3.5, "y": 3.25},
                {"label": "L23", "matrix": [3, 1], "x": 4.5, "y": 3.5},
                {"label": "L22", "matrix": [3, 5], "x": 5.5, "y": 4},
                {"label": "L21", "matrix": [3, 0], "x": 6.5, "y": 4.25},

                {"label": "R01", "matrix": [4, 1], "x": 10.5, "y": 0.5},
                {"label": "R02", "matrix": [4, 2], "x": 11.5, "y": 0.25},
                {"label": "R03", "matrix": [4, 3], "x": 12.5, "y": 0},
                {"label": "R04", "matrix": [4, 4], "x": 13.5, "y": 0.25},
                {"label": "R05", "matrix": [4, 5], "x": 14.5, "y": 0.75},
                {"label": "R06", "matrix": [4, 6], "x": 15.5, "y": 0.75},

                {"label": "R07", "matrix": [5, 1], "x": 10.5, "y": 1.5},
                {"label": "R08", "matrix": [5, 2], "x": 11.5, "y": 1.25},
                {"label": "R09", "matrix": [5, 3], "x": 12.5, "y": 1},
                {"label": "R10", "matrix": [5, 4], "x": 13.5, "y": 1.25},
                {"label": "R11", "matrix": [5, 5], "x": 14.5, "y": 1.75},
                {"label": "R12", "matrix": [5, 6], "x": 15.5, "y": 1.75},

                {"label": "R13", "matrix": [6, 0], "x": 8.5, "y": 3.25},
                {"label": "R14", "matrix": [7, 3], "x": 9.5, "y": 3},
                {"label": "R15", "matrix": [6, 1], "x": 10.5, "y": 2.5},
                {"label": "R16", "matrix": [6, 2], "x": 11.5, "y": 2.25},
                {"label": "R17", "matrix": [6, 3], "x": 12.5, "y": 2},
                {"label": "R18", "matrix": [6, 4], "x": 13.5, "y": 2.25},
                {"label": "R19", "matrix": [6, 5], "x": 14.5, "y": 2.75},
                {"label": "R20", "matrix": [6, 6], "x": 15.5, "y": 2.75},

                {"label": "R21", "matrix": [7, 0], "x": 9, "y": 4.25},
                {"label": "R22", "matrix": [7, 5], "x": 10, "y": 4},