aboutsummaryrefslogtreecommitdiffstats
path: root/layouts
diff options
context:
space:
mode:
authorGravatar Sendy YK <mr@sendyyk.com>2020-08-20 01:16:10 +0700
committerGravatar GitHub <noreply@github.com>2020-08-19 11:16:10 -0700
commit993d4058a1537f82ee8eb0006e155ac8c8620af1 (patch)
tree2e4f054a736ad5797495884735106383b93b87ec /layouts
parent79f080a43f005293c4442cbd7190533ad878526d (diff)
downloadqmk_firmware-993d4058a1537f82ee8eb0006e155ac8c8620af1.tar.gz
60_ansi_arrows Community Layout; mrsendyyk keymaps for dz60 and maartenwut/eon65 (#9993)
* Add Layout and Keymap * Add and Update Keymap * Update readme.md * Update keymap.c * Update readme.md * Update * delete * update * Revert "update" This reverts commit 91a3ff800c043094469dd0bb60cc454857b3a2d0. * Update config.h remove `DESCRIPTION` as per PR checklist * Update config.h * Revert "Update config.h" This reverts commit 269df0535efb4548828463eecc3a022c99d98949. * Revert "Update config.h" This reverts commit cad5a3320123da4694f09fb4e3ac08cc75bab1cc. * Update keyboards/dz60/dz60.h * Update keyboards/dz60/keymaps/mrsendyyk/keymap.c * Update keyboards/dz60/keymaps/mrsendyyk/keymap.c * Update keyboards/dz60/keymaps/mrsendyyk/keymap.c * Update keyboards/dz60/keymaps/mrsendyyk/keymap.c * Update keyboards/dz60/keymaps/mrsendyyk/keymap.c * Update keyboards/dz60/keymaps/mrsendyyk/keymap.c * Update keyboards/dz60/keymaps/mrsendyyk/keymap.c * Update keymap.c * Update keymap.c * Update keymap.c * Update dz60.h * Update keymap.c * Update readme.md * Update keymap.c * Update keymap.c * Update readme.md * Update dz60.h * Update keymap.c * Update readme.md * Update readme.md * Update * Update keymap.c * Update keymap.c * Update keymap.c * Update readme.md * Update keymap.c * Update readme.md * Update readme.md * Update keymap.c * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Update readme.md * Rename readme.md to README.md * Rename readme.md to README.md * Rename README.md to readme.md * Rename README.md to readme.md * Update rules.mk * Update dz60.h * Update keymap.c * Update readme.md * Update keymap.c * Update readme.md * Update * Update keymap.c * Update keymap.c * Update keymap.c * Update keymap.c * Update readme.md * Update info.json * Update keyboards/dz60/dz60.h * Update keyboards/dz60/dz60.h * Update keyboards/dz60/rules.mk * Update layouts/community/60_ansi_arrow/mrsendyyk/keymap.c * Update layouts/community/60_ansi_arrow/mrsendyyk/keymap.c * Update layouts/community/60_ansi_arrow/mrsendyyk/keymap.c * Update layouts/community/60_ansi_arrow/readme.md * Update layouts/default/60_ansi_arrow/default_60_ansi_arrow/keymap.c * Update layouts/default/60_ansi_arrow/default_60_ansi_arrow/keymap.c * Update layouts/default/60_ansi_arrow/default_60_ansi_arrow/keymap.c * Update layouts/default/60_ansi_arrow/readme.md * Update layouts/community/60_ansi_arrow/mrsendyyk/readme.md * Update layouts/community/60_ansi_arrow/mrsendyyk/readme.md * Update layouts/community/60_ansi_arrow/readme.md * Update layouts/community/60_ansi_arrow/readme.md * Update layouts/community/60_ansi_arrow/readme.md * Update layouts/community/60_ansi_arrow/readme.md * Update layouts/community/60_ansi_arrow/readme.md * Update keymap.c * Update readme.md * Update keymap.c * Update keymap.c * Update readme.md
Diffstat (limited to 'layouts')
-rw-r--r--layouts/community/60_ansi_arrow/layout.json6
-rw-r--r--layouts/community/60_ansi_arrow/mrsendyyk/keymap.c115
-rw-r--r--layouts/community/60_ansi_arrow/mrsendyyk/readme.md50
-rw-r--r--layouts/community/60_ansi_arrow/mrsendyyk/rules.mk1
-rw-r--r--layouts/community/60_ansi_arrow/readme.md114
-rw-r--r--layouts/default/60_ansi_arrow/default_60_ansi_arrow/keymap.c67
-rw-r--r--layouts/default/60_ansi_arrow/info.json80
-rw-r--r--layouts/default/60_ansi_arrow/layout.json6
-rw-r--r--layouts/default/60_ansi_arrow/readme.md50
9 files changed, 489 insertions, 0 deletions
diff --git a/layouts/community/60_ansi_arrow/layout.json b/layouts/community/60_ansi_arrow/layout.json
new file mode 100644
index 000000000..7fc631c3d
--- /dev/null
+++ b/layouts/community/60_ansi_arrow/layout.json
@@ -0,0 +1,6 @@
+[{a:7},"","","","","","","","","","","","","",{w:2},""],
+[{w:1.5},"","","","","","","","","","","","","",{w:1.5},""],
+[{w:1.75},"","","","","","","","","","","","",{w:2.25},""],
+[{w:2.25},"","","","","","","","","","",{w:1.75},"","",""],
+[{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:6.25},"","","","","",""]
+ \ No newline at end of file
diff --git a/layouts/community/60_ansi_arrow/mrsendyyk/keymap.c b/layouts/community/60_ansi_arrow/mrsendyyk/keymap.c
new file mode 100644
index 000000000..4b0b33e2c
--- /dev/null
+++ b/layouts/community/60_ansi_arrow/mrsendyyk/keymap.c
@@ -0,0 +1,115 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /*
+ * Default Layer [0]
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │Esc│1 │2 │3 │4 │5 │6 │7 │8 │9 │0 │- │= │Bspc │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │Tab │Q │W │E │R │T │Y │U │I │O │P │[ │] │\ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │Caps L│A │S │D │F │G │H │J │K │L │; │' │Enter │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
+ * │Shift │Z │X │C │V │B │N │M │, │. │Shift │↑ │/ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
+ * │Ctl │OS │Alt │ Space │Alt│Ctl│← │↓ │→ │
+ * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
+ */
+ [0] = LAYOUT_60_ansi_arrow(KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, KC_UP, KC_SLSH,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, LT(2, KC_RALT), LT(1, KC_RCTL), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ /*
+ * Fn Layer [1]
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │` │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│Delete │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │Bri+ │ │ │End│Rst│ │ │ │Ins│ │P S│ │ │Eject│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │Bri- │ │S L│ │ │ │Hm │ │ │ │ │ │Mute │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
+ * │Vol+ │ │ │Cal│ │ │N L│Ml │ │ │Pause │P U│ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
+ * │Vol-│Rwd │F FD│ Play │Stp│ │Prv│P D│Nxt│
+ * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
+ */
+ [1] = LAYOUT_60_ansi_arrow(KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
+ KC_BRIU, KC_TRNS, KC_TRNS, KC_END, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_EJCT,
+ KC_BRID, KC_TRNS, KC_SLCK, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE,
+ KC_VOLU, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_TRNS, KC_NLCK, KC_MAIL, KC_TRNS, KC_TRNS, KC_PAUS, KC_PGUP, KC_TRNS,
+ KC_VOLD, KC_MRWD, KC_MFFD, KC_MPLY, KC_MSTP, KC_TRNS, KC_MPRV, KC_PGDN, KC_MNXT
+ ),
+
+ /*
+ * Fn Layer [2]
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │R T│R M│Hu+│Hu-│Sa+│Sa-│Br+│Br-│ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
+ * │ │ │ │ │BL-│B T│BL+│B C│ │ │ │ │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
+ * │ │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
+ */
+ [2] = LAYOUT_60_ansi_arrow(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, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, 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, BL_DEC, BL_TOGG, BL_INC, BL_STEP, 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
+ )
+};
+
+void keyboard_post_init_user(void) {
+ rgblight_enable_noeeprom();
+ rgblight_sethsv_noeeprom(0, 0, 0);
+}
+
+/* RGB Lighting/LED/Underglow as Caps Lock, Num Lock, Scroll Lock, and Layer indicator */
+ void update_led(void) {
+ /* Num Lock Indicator */
+ if (host_keyboard_led_state().num_lock) {
+ rgblight_setrgb(225, 8, 0);
+ }
+ /* Scroll Lock Indicator */
+ if (host_keyboard_led_state().scroll_lock) {
+ rgblight_setrgb(0, 100, 255);
+ }
+ }
+
+ void led_set_user(uint8_t usb_led) {
+ /* Caps Lock Indicator */
+ if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
+ writePinLow(B2);
+ rgblight_setrgb(100, 255, 100);
+ }
+ /* Layer Indicator */
+ else {
+ switch (get_highest_layer(layer_state)) {
+ /* Fn Layer [1] Indicator */
+ case 1:
+ rgblight_setrgb(255, 110, 0);
+ break;
+ /* Fn Layer [2] Indicator */
+ case 2:
+ rgblight_setrgb(255, 110, 0);
+ break;
+ /* Default Layer [0] Indicator */
+ default:
+ rgblight_setrgb(0, 0, 0);
+ break;
+ }
+ update_led();
+ }
+ }
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ update_led();
+ return state;
+}
diff --git a/layouts/community/60_ansi_arrow/mrsendyyk/readme.md b/layouts/community/60_ansi_arrow/mrsendyyk/readme.md
new file mode 100644
index 000000000..4ddd6703d
--- /dev/null
+++ b/layouts/community/60_ansi_arrow/mrsendyyk/readme.md
@@ -0,0 +1,50 @@
+# [Sendy YK](https://mr.sendyyk.com)'s 60_ansi_arrow Keymap
+`LAYOUT_60_ansi_arrow` with RGB Lighting/LED/Underglow as Caps Lock, Num Lock, Scroll Lock, and Layer indicator.
+
+### Default Layer [0]
+
+```
+┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+│Esc│1 │2 │3 │4 │5 │6 │7 │8 │9 │0 │- │= │Bspc │
+├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+│Tab │Q │W │E │R │T │Y │U │I │O │P │[ │] │\ │
+├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+│Caps L│A │S │D │F │G │H │J │K │L │; │' │Enter │
+├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
+│Shift │Z │X │C │V │B │N │M │, │. │Shift │↑ │/ │
+├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
+│Ctl │OS │Alt │ Space │Alt│Ctl│← │↓ │→ │
+└────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
+```
+
+### Fn Layer [1]
+Press and hold *right* **Ctl** key.
+```
+┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+│` │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│Delete │
+├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+│Bri+ │ │ │End│Rst│ │ │ │Ins│ │P S│ │ │Eject│
+├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+│Bri- │ │S L│ │ │ │Hm │ │ │ │ │ │Mute │
+├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
+│Vol+ │ │ │Cal│ │ │N L│Ml │ │ │Pause │P U│ │
+├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
+│Vol-│Rwd │F FD│ Play │Stp│ │Prv│P D│Nxt│
+└────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
+```
+
+### Fn Layer [2]
+Press and hold *right* **Alt** key.
+```
+┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+│ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+│ │R T│R M│Hu+│Hu-│Sa+│Sa-│Br+│Br-│ │ │ │ │ │
+├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+│ │ │ │ │ │ │ │ │ │ │ │ │ │
+├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
+│ │ │ │ │BL-│B T│BL+│B C│ │ │ │ │ │
+├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
+│ │ │ │ │ │ │ │ │ │
+└────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
+```
diff --git a/layouts/community/60_ansi_arrow/mrsendyyk/rules.mk b/layouts/community/60_ansi_arrow/mrsendyyk/rules.mk
new file mode 100644
index 000000000..479eb15e2
--- /dev/null
+++ b/layouts/community/60_ansi_arrow/mrsendyyk/rules.mk
@@ -0,0 +1 @@
+USER_NAME := mrsendyyk \ No newline at end of file
diff --git a/layouts/community/60_ansi_arrow/readme.md b/layouts/community/60_ansi_arrow/readme.md
new file mode 100644
index 000000000..358740f30
--- /dev/null
+++ b/layouts/community/60_ansi_arrow/readme.md
@@ -0,0 +1,114 @@
+# 60_ansi_arrow
+This is the 60% ANSI Arrow keyboard layout.
+
+## Requirements
+
+### 1. Layout Defined
+A keyboard's `.h` file needs to have `LAYOUT_60_ansi_arrow` defined
+```c
+/*
+ * LAYOUT_60_ansi_arrow
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0e │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │10 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │1e │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │20 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
+ * │30 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3c │3d │3e │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
+ * │40 │41 │43 │46 │4a │4b │4c │4d │4e │
+ * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
+ */
+#define LAYOUT_60_ansi_arrow( \
+ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, \
+ k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \
+ k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
+ k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3c, k3d, k3e, \
+ k40, k41, k43, k46, k4a, k4b, k4c, k4d, k4e \
+) { \
+ { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, KC_NO, k0e }, \
+ { k10, KC_NO, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \
+ { k20, KC_NO, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, KC_NO }, \
+ { k30, KC_NO, k32, k33, k34, k35, k36, k37, k38, k39, k3a, KC_NO, k3c, k3d, k3e }, \
+ { k40, k41, KC_NO, k43, KC_NO, KC_NO, k46, KC_NO, KC_NO, KC_NO, k4a, k4b, k4c, k4d, k4e } \
+}
+```
+
+### 2. Configuring rules.mk
+`rules.mk` needs to have the following line:
+
+ LAYOUTS = 60_ansi_arrow
+
+### 3. Defining a Keymap
+A keymap must be defined at
+
+ qmk_firmware/layouts/community/60_ansi_arrow/yourfoldername/keymap.c
+This keymap must have a `LAYOUT_60_ansi_arrow` layout defined.
+```c
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /*
+ * Default Layer [0]
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │Esc│1 │2 │3 │4 │5 │6 │7 │8 │9 │0 │- │= │Bspc │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │Tab │Q │W │E │R │T │Y │U │I │O │P │[ │] │\ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │Caps L│A │S │D │F │G │H │J │K │L │; │' │Enter │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
+ * │Shift │Z │X │C │V │B │N │M │, │. │Shift │↑ │/ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
+ * │Ctl │OS │Alt │ Space │Alt│Ctl│← │↓ │→ │
+ * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
+ */
+ [0] = LAYOUT_60_ansi_arrow(KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, KC_UP, KC_SLSH,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, LT(2, KC_RALT), LT(1, KC_RCTL), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ /*
+ * Fn Layer [1]
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │` │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│Delete │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │Bri+ │ │ │End│Rst│ │ │ │Ins│ │P S│ │ │Eject│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │Bri- │ │S L│ │ │ │Hm │ │ │ │ │ │Mute │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
+ * │Vol+ │ │ │Cal│ │ │N L│Ml │ │ │Pause │P U│ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
+ * │Vol-│Rwd │F FD│ Play │Stp│ │Prv│P D│Nxt│
+ * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
+ */
+ [1] = LAYOUT_60_ansi_arrow(KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
+ KC_BRIU, KC_TRNS, KC_TRNS, KC_END, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_EJCT,
+ KC_BRID, KC_TRNS, KC_SLCK, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE,
+ KC_VOLU, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_TRNS, KC_NLCK, KC_MAIL, KC_TRNS, KC_TRNS, KC_PAUS, KC_PGUP, KC_TRNS,
+ KC_VOLD, KC_MRWD, KC_MFFD, KC_MPLY, KC_MSTP, KC_TRNS, KC_MPRV, KC_PGDN, KC_MNXT
+ ),
+
+ /*
+ * Fn Layer [2]
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │R T│R M│Hu+│Hu-│Sa+│Sa-│Br+│Br-│ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
+ * │ │ │ │ │BL-│B T│BL+│B C│ │ │ │ │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
+ * │ │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
+ */
+ [2] = LAYOUT_60_ansi_arrow(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, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, 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, BL_DEC, BL_TOGG, BL_INC, BL_STEP, 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
+ )
+};
+```
diff --git a/layouts/default/60_ansi_arrow/default_60_ansi_arrow/keymap.c b/layouts/default/60_ansi_arrow/default_60_ansi_arrow/keymap.c
new file mode 100644
index 000000000..acbf16ad9
--- /dev/null
+++ b/layouts/default/60_ansi_arrow/default_60_ansi_arrow/keymap.c
@@ -0,0 +1,67 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ /*
+ * Default Layer [0]
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │Esc│1 │2 │3 │4 │5 │6 │7 │8 │9 │0 │- │= │Bspc │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │Tab │Q │W │E │R │T │Y │U │I │O │P │[ │] │\ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │Caps L│A │S │D │F │G │H │J │K │L │; │' │Enter │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
+ * │Shift │Z │X │C │V │B │N │M │, │. │Shift │↑ │/ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
+ * │Ctl │OS │Alt │ Space │Alt│Ctl│← │↓ │→ │
+ * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
+ */
+ [0] = LAYOUT_60_ansi_arrow(KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, KC_UP, KC_SLSH,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, LT(2, KC_RALT), LT(1, KC_RCTL), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ /*
+ * Fn Layer [1]
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │` │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│Delete │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │Bri+ │ │ │End│Rst│ │ │ │Ins│ │P S│ │ │Eject│
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │Bri- │ │S L│ │ │ │Hm │ │ │ │ │ │Mute │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
+ * │Vol+ │ │ │Cal│ │ │N L│Ml │ │ │Pause │P U│ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
+ * │Vol-│Rwd │F FD│ Play │Stp│ │Prv│P D│Nxt│
+ * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
+ */
+ [1] = LAYOUT_60_ansi_arrow(KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
+ KC_BRIU, KC_TRNS, KC_TRNS, KC_END, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_EJCT,
+ KC_BRID, KC_TRNS, KC_SLCK, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE,
+ KC_VOLU, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_TRNS, KC_NLCK, KC_MAIL, KC_TRNS, KC_TRNS, KC_PAUS, KC_PGUP, KC_TRNS,
+ KC_VOLD, KC_MRWD, KC_MFFD, KC_MPLY, KC_MSTP, KC_TRNS, KC_MPRV, KC_PGDN, KC_MNXT
+ ),
+
+ /*
+ * Fn Layer [2]
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │R T│R M│Hu+│Hu-│Sa+│Sa-│Br+│Br-│ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
+ * │ │ │ │ │BL-│B T│BL+│B C│ │ │ │ │ │
+ * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
+ * │ │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
+ */
+ [2] = LAYOUT_60_ansi_arrow(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, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, 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, BL_DEC, BL_TOGG, BL_INC, BL_STEP, 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
+ )
+};
diff --git a/layouts/default/60_ansi_arrow/info.json b/layouts/default/60_ansi_arrow/info.json
new file mode 100644
index 000000000..6bd85a6b9
--- /dev/null
+++ b/layouts/default/60_ansi_arrow/info.json
@@ -0,0 +1,80 @@
+{
+ "keyboard_name": "60% ANSI Arrow Layout",
+ "url": "",
+ "maintainer": "qmk",
+ "width": 15,
+ "height": 5,
+ "layouts": {
+ "LAYOUT_60_ansi_arrow": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4, "y":0},
+ {"x":5, "y":0},
+ {"x":6, "y":0},
+ {"x":7, "y":0},
+ {"x":8, "y":0},
+ {"x":9, "y":0},
+ {"x":10, "y":0},
+ {"x":11, "y":0},
+ {"x":12, "y":0},
+ {"x":13, "y":0, "w":2},
+
+ {"x":0, "y":1, "w":1.5},
+ {"x":1.5, "y":1},
+ {"x":2.5, "y":1},
+ {"x":3.5, "y":1},
+ {"x":4.5, "y":1},
+ {"x":5.5, "y":1},
+ {"x":6.5, "y":1},
+ {"x":7.5, "y":1},
+ {"x":8.5, "y":1},
+ {"x":9.5, "y":1},
+ {"x":10.5, "y":1},
+ {"x":11.5, "y":1},
+ {"x":12.5, "y":1},
+ {"x":13.5, "y":1, "w":1.5},
+
+ {"x":0, "y":2, "w":1.75},
+ {"x":1.75, "y":2},
+ {"x":2.75, "y":2},
+ {"x":3.75, "y":2},
+ {"x":4.75, "y":2},
+ {"x":5.75, "y":2},
+ {"x":6.75, "y":2},
+ {"x":7.75, "y":2},
+ {"x":8.75, "y":2},
+ {"x":9.75, "y":2},
+ {"x":10.75, "y":2},
+ {"x":11.75, "y":2},
+ {"x":12.75, "y":2, "w":2.25},
+
+ {"x":0, "y":3, "w":2.25},
+ {"x":2.25, "y":3},
+ {"x":3.25, "y":3},
+ {"x":4.25, "y":3},
+ {"x":5.25, "y":3},
+ {"x":6.25, "y":3},
+ {"x":7.25, "y":3},
+ {"x":8.25, "y":3},
+ {"x":9.25, "y":3},
+ {"x":10.25, "y":3},
+ {"x":11.25, "y":3, "w":1.75},
+ {"x":13, "y":3},
+ {"x":14, "y":3},
+
+ {"x":0, "y":4, "w":1.25},
+ {"x":1.25, "y":4, "w":1.25},
+ {"x":2.5, "y":4, "w":1.25},
+ {"x":3.75, "y":4, "w":6.25},
+ {"x":10, "y":4},
+ {"x":11, "y":4},
+ {"x":12, "y":4},
+ {"x":13, "y":4},
+ {"x":14, "y":4}
+ ]
+ }
+ }
+}
diff --git a/layouts/default/60_ansi_arrow/layout.json b/layouts/default/60_ansi_arrow/layout.json
new file mode 100644
index 000000000..7fc631c3d
--- /dev/null
+++ b/layouts/default/60_ansi_arrow/layout.json
@@ -0,0 +1,6 @@
+[{a:7},"","","","","","","","","","","","","",{w:2},""],
+[{w:1.5},"","","","","","","","","","","","","",{w:1.5},""],
+[{w:1.75},"","","","","","","","","","","","",{w:2.25},""],
+[{w:2.25},"","","","","","","","","","",{w:1.75},"","",""],
+[{w:1.25},"",{w:1.25},"",{w:1.25},"",{w:6.25},"","","","","",""]
+ \ No newline at end of file
diff --git a/layouts/default/60_ansi_arrow/readme.md b/layouts/default/60_ansi_arrow/readme.md
new file mode 100644
index 000000000..8d6e6c455
--- /dev/null
+++ b/layouts/default/60_ansi_arrow/readme.md
@@ -0,0 +1,50 @@
+# 60_ansi_arrow
+`LAYOUT_60_ansi_arrow`
+
+### Default Layer [0]
+
+```
+┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+│Esc│1 │2 │3 │4 │5 │6 │7 │8 │9 │0 │- │= │Bspc │
+├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+│Tab │Q │W │E │R │T │Y │U │I │O │P │[ │] │\ │
+├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+│Caps L│A │S │D │F │G │H │J │K │L │; │' │Enter │
+├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
+│Shift │Z │X │C │V │B │N │M │, │. │Shift │↑ │/ │
+├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
+│Ctl │OS │Alt │ Space │Alt│Ctl│← │↓ │→ │
+└────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
+```
+
+### Fn Layer [1]
+Press and hold *right* **Ctl** key.
+```
+┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+│` │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│Delete │
+├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+│Bri+ │ │ │End│Rst│ │ │ │Ins│ │P S│ │ │Eject│
+├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+│Bri- │ │S L│ │ │ │Hm │ │ │ │ │ │Mute │
+├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
+│Vol+ │ │ │Cal│ │ │N L│Ml │ │ │Pause │P U│ │
+├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
+│Vol-│Rwd │F FD│ Play │Stp│ │Prv│P D│Nxt│
+└────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
+```
+
+### Fn Layer [2]
+Press and hold *right* **Alt** key.
+```
+┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+│ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+│ │R T│R M│Hu+│Hu-│Sa+│Sa-│Br+│Br-│ │ │ │ │ │
+├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
+│ │ │ │ │ │ │ │ │ │ │ │ │ │
+├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
+│ │ │ │ │BL-│B T│BL+│B C│ │ │ │ │ │
+├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
+│ │ │ │ │ │ │ │ │ │
+└────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
+```