aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSendy YK <mr@sendyyk.com>2021-03-06 01:30:06 +0700
committerGitHub <noreply@github.com>2021-03-05 10:30:06 -0800
commit52d8cbf092574974d50adfb8fd3b3b9f88074b18 (patch)
tree04bcb70f4837b936eaec93ef07b95a1dd95ce8c1
parent73b8f85816c3209f6213e358a0d3737c7a73d45f (diff)
downloadqmk_firmware-52d8cbf092574974d50adfb8fd3b3b9f88074b18.tar.gz
qmk_firmware-52d8cbf092574974d50adfb8fd3b3b9f88074b18.zip
[Keymap] Add 60_ansi_arrow_split_bs_7u_spc layout & keymap (#11329)
* Add 60_ansi_arrow_split_bs_7u_spc layout & keymap * Update readme.md * Minor updates * Update dz60.h * Update keymap.c * Update readme.md * Update keymap.c * Update readme.md * Update readme.md * Update keymap.c * Update layouts/default/60_ansi_arrow_split_bs_7u_spc/layout.json * Update keymap.c * Update readme.md
-rw-r--r--keyboards/dz60/dz60.h27
-rw-r--r--keyboards/dz60/info.json205
-rw-r--r--keyboards/dz60/rules.mk2
-rw-r--r--layouts/community/60_ansi_arrow/mrsendyyk/keymap.c88
-rw-r--r--layouts/community/60_ansi_arrow/mrsendyyk/readme.md70
-rw-r--r--layouts/community/60_ansi_arrow_split_bs_7u_spc/mrsendyyk/keymap.c141
-rw-r--r--layouts/community/60_ansi_arrow_split_bs_7u_spc/mrsendyyk/readme.md78
-rw-r--r--layouts/community/60_ansi_arrow_split_bs_7u_spc/mrsendyyk/rules.mk (renamed from layouts/community/60_ansi_arrow/mrsendyyk/rules.mk)0
-rw-r--r--layouts/default/60_ansi_arrow/default_60_ansi_arrow/keymap.c29
-rw-r--r--layouts/default/60_ansi_arrow/info.json126
-rw-r--r--layouts/default/60_ansi_arrow/readme.md26
-rw-r--r--layouts/default/60_ansi_arrow_split_bs_7u_spc/default_60_ansi_arrow_split_bs_7u_spc/keymap.c47
-rw-r--r--layouts/default/60_ansi_arrow_split_bs_7u_spc/info.json80
-rw-r--r--layouts/default/60_ansi_arrow_split_bs_7u_spc/layout.json5
-rw-r--r--layouts/default/60_ansi_arrow_split_bs_7u_spc/readme.md30
15 files changed, 643 insertions, 311 deletions
diff --git a/keyboards/dz60/dz60.h b/keyboards/dz60/dz60.h
index 8638dc879..8ed4a2727 100644
--- a/keyboards/dz60/dz60.h
+++ b/keyboards/dz60/dz60.h
@@ -32,6 +32,33 @@
32 { k40, k41, KC_NO, k43, k44, KC_NO, k46, KC_NO, k48, KC_NO, k4a, k4b, k4c, k4d, k4e } \ 32 { k40, k41, KC_NO, k43, k44, KC_NO, k46, KC_NO, k48, KC_NO, k4a, k4b, k4c, k4d, k4e } \
33} 33}
34 34
35/* LAYOUT_60_ansi_arrow_split_bs_7u_spc
36 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
37 * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │
38 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
39 * │10 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │1e │
40 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
41 * │20 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d │
42 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
43 * │30 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3c │3d │3e │
44 * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴──┬───┼───┼───┤
45 * │40 │41 │43 │46 │4b │4c │4d │4e │
46 * └─────┴───┴─────┴───────────────────────────┴───┴───┴───┴───┘
47*/
48#define LAYOUT_60_ansi_arrow_split_bs_7u_spc( \
49 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
50 k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \
51 k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
52 k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3c, k3d, k3e, \
53 k40, k41, k43, k46, k4b, k4c, k4d, k4e \
54) { \
55 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \
56 { k10, KC_NO, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \
57 { k20, KC_NO, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, KC_NO }, \
58 { k30, KC_NO, k32, k33, k34, k35, k36, k37, k38, k39, k3a, KC_NO, k3c, k3d, k3e }, \
59 { k40, k41, KC_NO, k43, KC_NO, KC_NO, k46, KC_NO, KC_NO, KC_NO, KC_NO, k4b, k4c, k4d, k4e } \
60}
61
35/* 62/*
36 * LAYOUT_60_ansi_arrow 63 * LAYOUT_60_ansi_arrow
37 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ 64 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
diff --git a/keyboards/dz60/info.json b/keyboards/dz60/info.json
index 1c13ec8a8..dd86fc3fe 100644
--- a/keyboards/dz60/info.json
+++ b/keyboards/dz60/info.json
@@ -80,75 +80,146 @@
80 {"x": 14, "y": 4} 80 {"x": 14, "y": 4}
81 ] 81 ]
82 }, 82 },
83 "LAYOUT_60_ansi_arrow_split_bs_7u_spc": {
84 "layout": [
85 {"x": 0, "y": 0},
86 {"x": 1, "y": 0},
87 {"x": 2, "y": 0},
88 {"x": 3, "y": 0},
89 {"x": 4, "y": 0},
90 {"x": 5, "y": 0},
91 {"x": 6, "y": 0},
92 {"x": 7, "y": 0},
93 {"x": 8, "y": 0},
94 {"x": 9, "y": 0},
95 {"x": 10, "y": 0},
96 {"x": 11, "y": 0},
97 {"x": 12, "y": 0},
98 {"x": 13, "y": 0},
99 {"x": 14, "y": 0},
100
101 {"x": 0, "y": 1, "w": 1.5},
102 {"x": 1.5, "y": 1},
103 {"x": 2.5, "y": 1},
104 {"x": 3.5, "y": 1},
105 {"x": 4.5, "y": 1},
106 {"x": 5.5, "y": 1},
107 {"x": 6.5, "y": 1},
108 {"x": 7.5, "y": 1},
109 {"x": 8.5, "y": 1},
110 {"x": 9.5, "y": 1},
111 {"x": 10.5, "y": 1},
112 {"x": 11.5, "y": 1},
113 {"x": 12.5, "y": 1},
114 {"x": 13.5, "y": 1, "w": 1.5},
115
116 {"x": 0, "y": 2, "w": 1.75},
117 {"x": 1.75, "y": 2},
118 {"x": 2.75, "y": 2},
119 {"x": 3.75, "y": 2},
120 {"x": 4.75, "y": 2},
121 {"x": 5.75, "y": 2},
122 {"x": 6.75, "y": 2},
123 {"x": 7.75, "y": 2},
124 {"x": 8.75, "y": 2},
125 {"x": 9.75, "y": 2},
126 {"x": 10.75, "y": 2},
127 {"x": 11.75, "y": 2},
128 {"x": 12.75, "y": 2, "w": 2.25},
129
130 {"x": 0, "y": 3, "w": 2.25},
131 {"x": 2.25, "y": 3},
132 {"x": 3.25, "y": 3},
133 {"x": 4.25, "y": 3},
134 {"x": 5.25, "y": 3},
135 {"x": 6.25, "y": 3},
136 {"x": 7.25, "y": 3},
137 {"x": 8.25, "y": 3},
138 {"x": 9.25, "y": 3},
139 {"x": 10.25, "y": 3},
140 {"x": 11.25, "y": 3, "w": 1.75},
141 {"x": 13, "y": 3},
142 {"x": 14, "y": 3},
143
144 {"x": 0, "y": 4, "w": 1.5},
145 {"x": 1.5, "y": 4},
146 {"x": 2.5, "y": 4, "w": 1.5},
147 {"x": 4, "y": 4, "w": 7},
148 {"x": 11, "y": 4},
149 {"x": 12, "y": 4},
150 {"x": 13, "y": 4},
151 {"x": 14, "y": 4}
152 ]
153 },
83 "LAYOUT_60_ansi_arrow": { 154 "LAYOUT_60_ansi_arrow": {
84 "layout": [ 155 "layout": [
85 {"x":0, "y":0}, 156 {"x": 0, "y": 0},
86 {"x":1, "y":0}, 157 {"x": 1, "y": 0},
87 {"x":2, "y":0}, 158 {"x": 2, "y": 0},
88 {"x":3, "y":0}, 159 {"x": 3, "y": 0},
89 {"x":4, "y":0}, 160 {"x": 4, "y": 0},
90 {"x":5, "y":0}, 161 {"x": 5, "y": 0},
91 {"x":6, "y":0}, 162 {"x": 6, "y": 0},
92 {"x":7, "y":0}, 163 {"x": 7, "y": 0},
93 {"x":8, "y":0}, 164 {"x": 8, "y": 0},
94 {"x":9, "y":0}, 165 {"x": 9, "y": 0},
95 {"x":10, "y":0}, 166 {"x": 10, "y": 0},
96 {"x":11, "y":0}, 167 {"x": 11, "y": 0},
97 {"x":12, "y":0}, 168 {"x": 12, "y": 0},
98 {"x":13, "y":0, "w":2}, 169 {"x": 13, "y": 0, "w": 2},
99 170
100 {"x":0, "y":1, "w":1.5}, 171 {"x": 0, "y": 1, "w": 1.5},
101 {"x":1.5, "y":1}, 172 {"x": 1.5, "y": 1},
102 {"x":2.5, "y":1}, 173 {"x": 2.5, "y": 1},
103 {"x":3.5, "y":1}, 174 {"x": 3.5, "y": 1},
104 {"x":4.5, "y":1}, 175 {"x": 4.5, "y": 1},
105 {"x":5.5, "y":1}, 176 {"x": 5.5, "y": 1},
106 {"x":6.5, "y":1}, 177 {"x": 6.5, "y": 1},
107 {"x":7.5, "y":1}, 178 {"x": 7.5, "y": 1},
108 {"x":8.5, "y":1}, 179 {"x": 8.5, "y": 1},
109 {"x":9.5, "y":1}, 180 {"x": 9.5, "y": 1},
110 {"x":10.5, "y":1}, 181 {"x": 10.5, "y": 1},
111 {"x":11.5, "y":1}, 182 {"x": 11.5, "y": 1},
112 {"x":12.5, "y":1}, 183 {"x": 12.5, "y": 1},
113 {"x":13.5, "y":1, "w":1.5}, 184 {"x": 13.5, "y": 1, "w": 1.5},
114 185
115 {"x":0, "y":2, "w":1.75}, 186 {"x": 0, "y": 2, "w": 1.75},
116 {"x":1.75, "y":2}, 187 {"x": 1.75, "y": 2},
117 {"x":2.75, "y":2}, 188 {"x": 2.75, "y": 2},
118 {"x":3.75, "y":2}, 189 {"x": 3.75, "y": 2},
119 {"x":4.75, "y":2}, 190 {"x": 4.75, "y": 2},
120 {"x":5.75, "y":2}, 191 {"x": 5.75, "y": 2},
121 {"x":6.75, "y":2}, 192 {"x": 6.75, "y": 2},
122 {"x":7.75, "y":2}, 193 {"x": 7.75, "y": 2},
123 {"x":8.75, "y":2}, 194 {"x": 8.75, "y": 2},
124 {"x":9.75, "y":2}, 195 {"x": 9.75, "y": 2},
125 {"x":10.75, "y":2}, 196 {"x": 10.75, "y": 2},
126 {"x":11.75, "y":2}, 197 {"x": 11.75, "y": 2},
127 {"x":12.75, "y":2, "w":2.25}, 198 {"x": 12.75, "y": 2, "w": 2.25},
128 199
129 {"x":0, "y":3, "w":2.25}, 200 {"x": 0, "y": 3, "w": 2.25},
130 {"x":2.25, "y":3}, 201 {"x": 2.25, "y": 3},
131 {"x":3.25, "y":3}, 202 {"x": 3.25, "y": 3},
132 {"x":4.25, "y":3}, 203 {"x": 4.25, "y": 3},
133 {"x":5.25, "y":3}, 204 {"x": 5.25, "y": 3},
134 {"x":6.25, "y":3}, 205 {"x": 6.25, "y": 3},
135 {"x":7.25, "y":3}, 206 {"x": 7.25, "y": 3},
136 {"x":8.25, "y":3}, 207 {"x": 8.25, "y": 3},
137 {"x":9.25, "y":3}, 208 {"x": 9.25, "y": 3},
138 {"x":10.25, "y":3}, 209 {"x": 10.25, "y": 3},
139 {"x":11.25, "y":3, "w":1.75}, 210 {"x": 11.25, "y": 3, "w": 1.75},
140 {"x":13, "y":3}, 211 {"x": 13, "y": 3},
141 {"x":14, "y":3}, 212 {"x": 14, "y": 3},
142 213
143 {"x":0, "y":4, "w":1.25}, 214 {"x": 0, "y": 4, "w": 1.25},
144 {"x":1.25, "y":4, "w":1.25}, 215 {"x": 1.25, "y": 4, "w": 1.25},
145 {"x":2.5, "y":4, "w":1.25}, 216 {"x": 2.5, "y": 4, "w": 1.25},
146 {"x":3.75, "y":4, "w":6.25}, 217 {"x": 3.75, "y": 4, "w": 6.25},
147 {"x":10, "y":4}, 218 {"x": 10, "y": 4},
148 {"x":11, "y":4}, 219 {"x": 11, "y": 4},
149 {"x":12, "y":4}, 220 {"x": 12, "y": 4},
150 {"x":13, "y":4}, 221 {"x": 13, "y": 4},
151 {"x":14, "y":4} 222 {"x": 14, "y": 4}
152 ] 223 ]
153 }, 224 },
154 "LAYOUT_true_hhkb": { 225 "LAYOUT_true_hhkb": {
diff --git a/keyboards/dz60/rules.mk b/keyboards/dz60/rules.mk
index 26b48a626..a626f1f5d 100644
--- a/keyboards/dz60/rules.mk
+++ b/keyboards/dz60/rules.mk
@@ -21,4 +21,4 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
21BLUETOOTH_ENABLE = no # Enable Bluetooth 21BLUETOOTH_ENABLE = no # Enable Bluetooth
22AUDIO_ENABLE = no # Audio output 22AUDIO_ENABLE = no # Audio output
23 23
24LAYOUTS = 60_ansi 60_ansi_arrow 60_ansi_split_bs_rshift 60_hhkb 60_iso 60_abnt2 60_tsangan_hhkb 24LAYOUTS = 60_ansi 60_ansi_arrow_split_bs_7u_spc 60_ansi_arrow 60_ansi_split_bs_rshift 60_hhkb 60_iso 60_abnt2 60_tsangan_hhkb
diff --git a/layouts/community/60_ansi_arrow/mrsendyyk/keymap.c b/layouts/community/60_ansi_arrow/mrsendyyk/keymap.c
deleted file mode 100644
index 09b3c2858..000000000
--- a/layouts/community/60_ansi_arrow/mrsendyyk/keymap.c
+++ /dev/null
@@ -1,88 +0,0 @@
1/*
2 * 60 ANSI Arrow Keymap with RGB Lighting/LED/Underglow as Caps Lock, Num Lock, Scroll Lock, and Layer Indicator
3 *
4 * Copyright (C) 2020 Sendy YK <https://mr.sendyyk.com>
5 *
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <https://www.gnu.org/licenses/>.
18 */
19
20#include QMK_KEYBOARD_H
21
22enum layer_names {
23 _BASE, // Default Layer
24 _FN // Fn Layer
25};
26
27const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
28 // Default Layer
29 [_BASE] = LAYOUT_60_ansi_arrow(
30 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,
31 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,
32 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,
33 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,
34 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT
35 ),
36 // Fn Layer
37 [_FN] = LAYOUT_60_ansi_arrow(
38 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,
39 KC_BRIU, _______, _______, KC_END, RESET, _______, _______, _______, KC_INS, _______, KC_PSCR, _______, _______, KC_EJCT,
40 KC_BRID, _______, KC_SLCK, _______, _______, _______, KC_HOME, _______, _______, _______, _______, _______, KC_MUTE,
41 KC_VOLU, _______, _______, KC_CALC, _______, _______, KC_NLCK, KC_MAIL, _______, _______, KC_PAUS, KC_PGUP, _______,
42 KC_VOLD, KC_MRWD, KC_MFFD, KC_MPLY, KC_MSTP, _______, KC_MPRV, KC_PGDN, KC_MNXT
43 )
44};
45
46void keyboard_post_init_user(void) {
47 rgblight_enable_noeeprom();
48 rgblight_setrgb(100, 255, 100);
49}
50
51// RGB Lighting/LED/Underglow as Caps Lock, Num Lock, Scroll Lock, and Layer Indicator
52void update_led(void) {
53 // Num Lock Indicator
54 if (host_keyboard_led_state().num_lock) {
55 rgblight_setrgb(225, 8, 0);
56 }
57 // Scroll Lock Indicator
58 if (host_keyboard_led_state().scroll_lock) {
59 rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_GRADIENT + 2);
60 }
61}
62
63void led_set_user(uint8_t usb_led) {
64 // Caps Lock Indicator
65 if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
66 writePinLow(B2);
67 rgblight_setrgb(255, 110, 0);
68 }
69 // Layer Indicator
70 else {
71 switch (get_highest_layer(layer_state)) {
72 // Fn Layer Indicator
73 case _FN:
74 rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_GRADIENT + 1);
75 break;
76 // Default Layer Indicator
77 case _BASE:
78 rgblight_setrgb(100, 255, 100);
79 break;
80 }
81 update_led();
82 }
83}
84
85layer_state_t layer_state_set_user(layer_state_t state) {
86 update_led();
87 return state;
88}
diff --git a/layouts/community/60_ansi_arrow/mrsendyyk/readme.md b/layouts/community/60_ansi_arrow/mrsendyyk/readme.md
deleted file mode 100644
index a2dedd4cc..000000000
--- a/layouts/community/60_ansi_arrow/mrsendyyk/readme.md
+++ /dev/null
@@ -1,70 +0,0 @@
1# 60 ANSI Arrow Keymap by [Sendy YK](https://mr.sendyyk.com)
2
3With RGB Lighting/LED/Underglow as Caps Lock, Num Lock, Scroll Lock, and Layer Indicator.
4
5## Default Layer
6
7![_BASE](https://raw.githubusercontent.com/mrsendyyk/qmk_firmware/development/images/60_ansi_arrow_keymap_base.png)
8
9## Fn Layer
10
11![_FN](https://raw.githubusercontent.com/mrsendyyk/qmk_firmware/development/images/60_ansi_arrow_keymap_fn.png)
12
13## RGB Lighting/LED/Underglow as Caps Lock, Num Lock, Scroll Lock, and Layer Indicator
14
15### Caps Lock Indicator
16
17```c
18 // Caps Lock Indicator
19 if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
20 writePinLow(B2);
21 rgblight_setrgb(255, 110, 0);
22 }
23```
24
25### Num Lock Indicator
26
27```c
28 // Num Lock Indicator
29 if (host_keyboard_led_state().num_lock) {
30 rgblight_setrgb(225, 8, 0);
31 }
32```
33
34### Scroll Lock Indicator
35```c
36 // Scroll Lock Indicator
37 if (host_keyboard_led_state().scroll_lock) {
38 rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_GRADIENT + 2);
39 }
40```
41
42### Layer Indicator
43
44```c
45 // Layer Indicator
46 else {
47 switch (get_highest_layer(layer_state)) {
48 // Fn Layer Indicator
49 case _FN:
50 rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_GRADIENT + 1);
51 break;
52 // Default Layer Indicator
53 case _BASE:
54 rgblight_setrgb(100, 255, 100);
55 break;
56 }
57 update_led();
58 }
59```
60
61## Build The Firmware
62
63Make example for keyboard (after setting up your build environment):
64
65 make <keyboard_folder>:mrsendyyk
66
67More information:
68* [Setting Up Your QMK Environment](https://docs.qmk.fm/#/getting_started_build_tools)
69* [More Detailed make Instructions](https://docs.qmk.fm/#/getting_started_make_guide)
70* [The Complete Newbs Guide To QMK](https://docs.qmk.fm/#/newbs)
diff --git a/layouts/community/60_ansi_arrow_split_bs_7u_spc/mrsendyyk/keymap.c b/layouts/community/60_ansi_arrow_split_bs_7u_spc/mrsendyyk/keymap.c
new file mode 100644
index 000000000..8b285c9fb
--- /dev/null
+++ b/layouts/community/60_ansi_arrow_split_bs_7u_spc/mrsendyyk/keymap.c
@@ -0,0 +1,141 @@
1/*
2 * 60 ANSI Arrow Split Backspace & 7U Space Keymap
3 * with RGB Lighting/LED/Underglow as Caps Lock, Num Lock, Scroll Lock, and Layer Indicator.
4 *
5 * Copyright (C) 2020 Sendy YK <https://mr.sendyyk.com>
6 *
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <https://www.gnu.org/licenses/>.
19 */
20
21#include QMK_KEYBOARD_H
22
23enum layer_names {
24 _BASE, // Base Layer
25 _FN, // Fn Layer
26 _RESET // Reset Layer
27};
28
29const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
30 /*
31 * [_BASE] Base Layer
32 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
33 * │Esc│1 │2 │3 │4 │5 │6 │7 │8 │9 │0 │- │+ │\ │Del│
34 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
35 * │Tab │Q │W │E │R │T │Y │U │I │O │P │[ │] │Bspc │
36 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
37 * │Caps │A │S │D │F │G │H │J │K │L │; │' │Return │
38 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
39 * │Shift │Z │X │C │V │B │N │M │, │. │Shift │↑ │/ │
40 * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴──┬───┼───┼───┤
41 * │Ctrl │OS │Alt │Space │Fn │← │↓ │→ │
42 * └─────┴───┴─────┴───────────────────────────┴───┴───┴───┴───┘
43 */
44 [_BASE] = LAYOUT_60_ansi_arrow_split_bs_7u_spc(
45 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_BSLS, KC_DEL,
46 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_BSPC,
47 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,
48 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,
49 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT
50 ),
51 /*
52 * [_FN] Fn Layer
53 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
54 * │` │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ │Ejc│
55 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
56 * │ │ │ │End│RGB│ │ │ │Ins│ │PSc│ │ │Mute │
57 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
58 * │ │ │SLc│ │ │ │Hm │ │ │ │ │ │Pause │
59 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
60 * │Vol + │ │ │Cal│ │BLT│NLc│Ml │ │ │ │PgU│MSt│
61 * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴──┬───┼───┼───┤
62 * │Vol -│Rwd│FFd │Play │ │Prv│PgD│Nxt│
63 * └─────┴───┴─────┴───────────────────────────┴───┴───┴───┴───┘
64 */
65 [_FN] = LAYOUT_60_ansi_arrow_split_bs_7u_spc(
66 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_EJCT,
67 _______, _______, _______, KC_END, RGB_TOG, _______, _______, _______, KC_INS, _______, KC_PSCR, _______, _______, KC_MUTE,
68 _______, _______, KC_SLCK, _______, _______, _______, KC_HOME, _______, _______, _______, _______, _______, KC_PAUS,
69 KC_VOLU, _______, _______, KC_CALC, _______, BL_TOGG, KC_NLCK, KC_MAIL, _______, _______, MO(_RESET), KC_PGUP, KC_MSTP,
70 KC_VOLD, KC_MRWD, KC_MFFD, KC_MPLY, _______, KC_MPRV, KC_PGDN, KC_MNXT
71 ),
72 /*
73 * [_RESET] Reset Layer
74 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
75 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
76 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
77 * │ │ │ │ │Rst│ │ │ │ │ │ │ │ │ │
78 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
79 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
80 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
81 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
82 * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴──┬───┼───┼───┤
83 * │ │ │ │ │ │ │ │ │
84 * └─────┴───┴─────┴───────────────────────────┴───┴───┴───┴───┘
85 */
86 [_RESET] = LAYOUT_60_ansi_arrow_split_bs_7u_spc(
87 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
88 _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______,
89 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
90 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
91 _______, _______, _______, _______, _______, _______, _______, _______
92 )
93};
94
95void keyboard_post_init_user(void) {
96 rgblight_enable_noeeprom();
97 rgblight_setrgb(100, 255, 100);
98}
99
100// RGB Lighting/LED/Underglow as Caps Lock, Num Lock, Scroll Lock, and Layer Indicator
101void update_led(void) {
102 // Num Lock Indicator
103 if (host_keyboard_led_state().num_lock) {
104 rgblight_setrgb(225, 8, 0);
105 }
106 // Scroll Lock Indicator
107 if (host_keyboard_led_state().scroll_lock) {
108 rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_GRADIENT + 2);
109 }
110}
111
112void led_set_user(uint8_t usb_led) {
113 // Caps Lock Indicator
114 if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
115 writePinLow(B2);
116 rgblight_setrgb(255, 110, 0);
117 }
118 // Layer Indicator
119 else {
120 switch (get_highest_layer(layer_state)) {
121 // Fn Layer Indicator
122 case _FN:
123 rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_GRADIENT + 1);
124 break;
125 // Reset Layer Indicator
126 case _RESET:
127 rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_GRADIENT + 3);
128 break;
129 // Base Layer Indicator
130 case _BASE:
131 rgblight_setrgb(100, 255, 100);
132 break;
133 }
134 update_led();
135 }
136}
137
138layer_state_t layer_state_set_user(layer_state_t state) {
139 update_led();
140 return state;
141}
diff --git a/layouts/community/60_ansi_arrow_split_bs_7u_spc/mrsendyyk/readme.md b/layouts/community/60_ansi_arrow_split_bs_7u_spc/mrsendyyk/readme.md
new file mode 100644
index 000000000..d812ac343
--- /dev/null
+++ b/layouts/community/60_ansi_arrow_split_bs_7u_spc/mrsendyyk/readme.md
@@ -0,0 +1,78 @@
1# 60 ANSI Arrow Split Backspace & 7U Space Keymap
2
3With RGB Lighting/LED/Underglow as Caps Lock, Num Lock, Scroll Lock, and Layer Indicator by [Sendy YK](https://mr.sendyyk.com).
4
5## Base Layer
6
7```c
8 /*
9 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
10 * │Esc│1 │2 │3 │4 │5 │6 │7 │8 │9 │0 │- │+ │\ │Del│
11 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
12 * │Tab │Q │W │E │R │T │Y │U │I │O │P │[ │] │Bspc │
13 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
14 * │Caps │A │S │D │F │G │H │J │K │L │; │' │Return │
15 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
16 * │Shift │Z │X │C │V │B │N │M │, │. │Shift │↑ │/ │
17 * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴──┬───┼───┼───┤
18 * │Ctrl │OS │Alt │Space │Fn │← │↓ │→ │
19 * └─────┴───┴─────┴───────────────────────────┴───┴───┴───┴───┘
20 */
21```
22
23## Fn Layer
24
25```c
26 /*
27 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
28 * │` │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│ │Ejc│
29 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
30 * │ │ │ │End│RGB│ │ │ │Ins│ │PSc│ │ │Mute │
31 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
32 * │ │ │SLc│ │ │ │Hm │ │ │ │ │ │Pause │
33 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
34 * │Vol + │ │ │Cal│ │BLT│NLc│Ml │ │ │ │PgU│MSt│
35 * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴──┬───┼───┼───┤
36 * │Vol -│Rwd│FFd │Play │ │Prv│PgD│Nxt│
37 * └─────┴───┴─────┴───────────────────────────┴───┴───┴───┴───┘
38 */
39```
40
41## Reset Layer
42
43```c
44 /*
45 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
46 * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
47 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
48 * │ │ │ │ │Rst│ │ │ │ │ │ │ │ │ │
49 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
50 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
51 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
52 * │ │ │ │ │ │ │ │ │ │ │ │ │ │
53 * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴──┬───┼───┼───┤
54 * │ │ │ │ │ │ │ │ │
55 * └─────┴───┴─────┴───────────────────────────┴───┴───┴───┴───┘
56 */
57```
58
59## RGB Lighting/LED/Underglow as Caps Lock, Num Lock, Scroll Lock, and Layer Indicator
60
61### Caps Lock & Layer Indicator
62
63Set in `led_set_user` function.
64
65### Num Lock & Scroll Lock Indicator
66
67Set in `update_led` function.
68
69## Build The Firmware
70
71Make example for keyboard (after setting up your build environment):
72
73 make <keyboard_folder>:mrsendyyk FORCE_LAYOUT=60_ansi_arrow_split_bs_7u_spc
74
75More information:
76* [Setting Up Your QMK Environment](https://docs.qmk.fm/#/getting_started_build_tools)
77* [More Detailed make Instructions](https://docs.qmk.fm/#/getting_started_make_guide)
78* [The Complete Newbs Guide To QMK](https://docs.qmk.fm/#/newbs)
diff --git a/layouts/community/60_ansi_arrow/mrsendyyk/rules.mk b/layouts/community/60_ansi_arrow_split_bs_7u_spc/mrsendyyk/rules.mk
index 5c3115dc3..5c3115dc3 100644
--- a/layouts/community/60_ansi_arrow/mrsendyyk/rules.mk
+++ b/layouts/community/60_ansi_arrow_split_bs_7u_spc/mrsendyyk/rules.mk
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
index 565e9990a..c2bd4fa1b 100644
--- a/layouts/default/60_ansi_arrow/default_60_ansi_arrow/keymap.c
+++ b/layouts/default/60_ansi_arrow/default_60_ansi_arrow/keymap.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * 60_ansi_arrow Keymap 2 * Default 60 ANSI Arrow Keymap.
3 * 3 *
4 * Copyright (C) 2020 Sendy YK <https://mr.sendyyk.com> 4 * Copyright (C) 2020 Sendy YK <https://mr.sendyyk.com>
5 * 5 *
@@ -20,25 +20,28 @@
20#include QMK_KEYBOARD_H 20#include QMK_KEYBOARD_H
21 21
22enum layer_names { 22enum layer_names {
23 _BASE, // Default Layer 23 _BASE
24 _FN // Fn Layer
25}; 24};
26 25
27const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
28 // Default Layer 27 /*
28 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
29 * │Esc│1 │2 │3 │4 │5 │6 │7 │8 │9 │0 │- │+ │Bspc │
30 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
31 * │Tab │Q │W │E │R │T │Y │U │I │O │P │[ │] │\ │
32 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
33 * │Caps │A │S │D │F │G │H │J │K │L │; │' │Enter │
34 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
35 * │Shift │Z │X │C │V │B │N │M │, │. │Shift │↑ │/ │
36 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
37 * │Ctrl│GUI │Alt │Space │Alt│GUI│← │↓ │→ │
38 * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
39 */
29 [_BASE] = LAYOUT_60_ansi_arrow( 40 [_BASE] = LAYOUT_60_ansi_arrow(
30 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, 41 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,
31 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, 42 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,
32 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, 43 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,
33 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, 44 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,
34 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT 45 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT
35 ), 46 ),
36 // Fn Layer
37 [_FN] = LAYOUT_60_ansi_arrow(
38 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,
39 KC_BRIU, _______, _______, KC_END, RESET, _______, _______, _______, KC_INS, _______, KC_PSCR, _______, _______, KC_EJCT,
40 KC_BRID, _______, KC_SLCK, _______, _______, _______, KC_HOME, _______, _______, _______, _______, _______, KC_MUTE,
41 KC_VOLU, _______, _______, KC_CALC, _______, _______, KC_NLCK, KC_MAIL, _______, _______, KC_PAUS, KC_PGUP, _______,
42 KC_VOLD, KC_MRWD, KC_MFFD, KC_MPLY, KC_MSTP, _______, KC_MPRV, KC_PGDN, KC_MNXT
43 )
44}; 47};
diff --git a/layouts/default/60_ansi_arrow/info.json b/layouts/default/60_ansi_arrow/info.json
index 639433ea7..a8667e62c 100644
--- a/layouts/default/60_ansi_arrow/info.json
+++ b/layouts/default/60_ansi_arrow/info.json
@@ -7,73 +7,73 @@
7 "layouts": { 7 "layouts": {
8 "LAYOUT_60_ansi_arrow": { 8 "LAYOUT_60_ansi_arrow": {
9 "layout": [ 9 "layout": [
10 {"x":0, "y":0}, 10 {"x": 0, "y": 0},
11 {"x":1, "y":0}, 11 {"x": 1, "y": 0},
12 {"x":2, "y":0}, 12 {"x": 2, "y": 0},
13 {"x":3, "y":0}, 13 {"x": 3, "y": 0},
14 {"x":4, "y":0}, 14 {"x": 4, "y": 0},
15 {"x":5, "y":0}, 15 {"x": 5, "y": 0},
16 {"x":6, "y":0}, 16 {"x": 6, "y": 0},
17 {"x":7, "y":0}, 17 {"x": 7, "y": 0},
18 {"x":8, "y":0}, 18 {"x": 8, "y": 0},
19 {"x":9, "y":0}, 19 {"x": 9, "y": 0},
20 {"x":10, "y":0}, 20 {"x": 10, "y": 0},
21 {"x":11, "y":0}, 21 {"x": 11, "y": 0},
22 {"x":12, "y":0}, 22 {"x": 12, "y": 0},
23 {"x":13, "y":0, "w":2}, 23 {"x": 13, "y": 0, "w": 2},
24 24
25 {"x":0, "y":1, "w":1.5}, 25 {"x": 0, "y": 1, "w": 1.5},
26 {"x":1.5, "y":1}, 26 {"x": 1.5, "y": 1},
27 {"x":2.5, "y":1}, 27 {"x": 2.5, "y": 1},
28 {"x":3.5, "y":1}, 28 {"x": 3.5, "y": 1},
29 {"x":4.5, "y":1}, 29 {"x": 4.5, "y": 1},
30 {"x":5.5, "y":1}, 30 {"x": 5.5, "y": 1},
31 {"x":6.5, "y":1}, 31 {"x": 6.5, "y": 1},
32 {"x":7.5, "y":1}, 32 {"x": 7.5, "y": 1},
33 {"x":8.5, "y":1}, 33 {"x": 8.5, "y": 1},
34 {"x":9.5, "y":1}, 34 {"x": 9.5, "y": 1},
35 {"x":10.5, "y":1}, 35 {"x": 10.5, "y": 1},
36 {"x":11.5, "y":1}, 36 {"x": 11.5, "y": 1},
37 {"x":12.5, "y":1}, 37 {"x": 12.5, "y": 1},
38 {"x":13.5, "y":1, "w":1.5}, 38 {"x": 13.5, "y": 1, "w": 1.5},
39 39
40 {"x":0, "y":2, "w":1.75}, 40 {"x": 0, "y": 2, "w": 1.75},
41 {"x":1.75, "y":2}, 41 {"x": 1.75, "y": 2},
42 {"x":2.75, "y":2}, 42 {"x": 2.75, "y": 2},
43 {"x":3.75, "y":2}, 43 {"x": 3.75, "y": 2},
44 {"x":4.75, "y":2}, 44 {"x": 4.75, "y": 2},
45 {"x":5.75, "y":2}, 45 {"x": 5.75, "y": 2},
46 {"x":6.75, "y":2}, 46 {"x": 6.75, "y": 2},
47 {"x":7.75, "y":2}, 47 {"x": 7.75, "y": 2},
48 {"x":8.75, "y":2}, 48 {"x": 8.75, "y": 2},
49 {"x":9.75, "y":2}, 49 {"x": 9.75, "y": 2},
50 {"x":10.75, "y":2}, 50 {"x": 10.75, "y": 2},
51 {"x":11.75, "y":2}, 51 {"x": 11.75, "y": 2},
52 {"x":12.75, "y":2, "w":2.25}, 52 {"x": 12.75, "y": 2, "w": 2.25},
53 53
54 {"x":0, "y":3, "w":2.25}, 54 {"x": 0, "y": 3, "w": 2.25},
55 {"x":2.25, "y":3}, 55 {"x": 2.25, "y": 3},
56 {"x":3.25, "y":3}, 56 {"x": 3.25, "y": 3},
57 {"x":4.25, "y":3}, 57 {"x": 4.25, "y": 3},
58 {"x":5.25, "y":3}, 58 {"x": 5.25, "y": 3},
59 {"x":6.25, "y":3}, 59 {"x": 6.25, "y": 3},
60 {"x":7.25, "y":3}, 60 {"x": 7.25, "y": 3},
61 {"x":8.25, "y":3}, 61 {"x": 8.25, "y": 3},
62 {"x":9.25, "y":3}, 62 {"x": 9.25, "y": 3},
63 {"x":10.25, "y":3}, 63 {"x": 10.25, "y": 3},
64 {"x":11.25, "y":3, "w":1.75}, 64 {"x": 11.25, "y": 3, "w": 1.75},
65 {"x":13, "y":3}, 65 {"x": 13, "y": 3},
66 {"x":14, "y":3}, 66 {"x": 14, "y": 3},
67 67
68 {"x":0, "y":4, "w":1.25}, 68 {"x": 0, "y": 4, "w": 1.25},
69 {"x":1.25, "y":4, "w":1.25}, 69 {"x": 1.25, "y": 4, "w": 1.25},
70 {"x":2.5, "y":4, "w":1.25}, 70 {"x": 2.5, "y": 4, "w": 1.25},
71 {"x":3.75, "y":4, "w":6.25}, 71 {"x": 3.75, "y": 4, "w": 6.25},
72 {"x":10, "y":4}, 72 {"x": 10, "y": 4},
73 {"x":11, "y":4}, 73 {"x": 11, "y": 4},
74 {"x":12, "y":4}, 74 {"x": 12, "y": 4},
75 {"x":13, "y":4}, 75 {"x": 13, "y": 4},
76 {"x":14, "y":4} 76 {"x": 14, "y": 4}
77 ] 77 ]
78 } 78 }
79 } 79 }
diff --git a/layouts/default/60_ansi_arrow/readme.md b/layouts/default/60_ansi_arrow/readme.md
index e379caa34..e655a31f2 100644
--- a/layouts/default/60_ansi_arrow/readme.md
+++ b/layouts/default/60_ansi_arrow/readme.md
@@ -1,14 +1,22 @@
1# 60_ansi_arrow Keymap 1# 60_ansi_arrow Keymap
2 2
3by [Sendy YK](https://mr.sendyyk.com). 3Default 60 ANSI Arrow Keymap by [Sendy YK](https://mr.sendyyk.com).
4 4
5## Default Layer 5```c
6 6 /*
7![_BASE](https://raw.githubusercontent.com/mrsendyyk/qmk_firmware/development/images/60_ansi_arrow_keymap_base.png) 7 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
8 8 * │Esc│1 │2 │3 │4 │5 │6 │7 │8 │9 │0 │- │+ │Bspc │
9## Fn Layer 9 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
10 10 * │Tab │Q │W │E │R │T │Y │U │I │O │P │[ │] │\ │
11![_FN](https://raw.githubusercontent.com/mrsendyyk/qmk_firmware/development/images/60_ansi_arrow_keymap_fn.png) 11 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
12 * │Caps │A │S │D │F │G │H │J │K │L │; │' │Enter │
13 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
14 * │Shift │Z │X │C │V │B │N │M │, │. │Shift │↑ │/ │
15 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
16 * │Ctrl│GUI │Alt │Space │Alt│GUI│← │↓ │→ │
17 * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
18 */
19```
12 20
13## Build The Firmware 21## Build The Firmware
14 22
diff --git a/layouts/default/60_ansi_arrow_split_bs_7u_spc/default_60_ansi_arrow_split_bs_7u_spc/keymap.c b/layouts/default/60_ansi_arrow_split_bs_7u_spc/default_60_ansi_arrow_split_bs_7u_spc/keymap.c
new file mode 100644
index 000000000..8f240beab
--- /dev/null
+++ b/layouts/default/60_ansi_arrow_split_bs_7u_spc/default_60_ansi_arrow_split_bs_7u_spc/keymap.c
@@ -0,0 +1,47 @@
1/*
2 * Default 60 ANSI Arrow Split Backspace & 7U Space Keymap.
3 *
4 * Copyright (C) 2020 Sendy YK <https://mr.sendyyk.com>
5 *
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <https://www.gnu.org/licenses/>.
18 */
19
20#include QMK_KEYBOARD_H
21
22enum layer_names {
23 _BASE
24};
25
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27 /*
28 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
29 * │Esc│1 │2 │3 │4 │5 │6 │7 │8 │9 │0 │- │+ │\ │Del│
30 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
31 * │Tab │Q │W │E │R │T │Y │U │I │O │P │[ │] │Bspc │
32 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
33 * │Caps │A │S │D │F │G │H │J │K │L │; │' │Enter │
34 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
35 * │Shift │Z │X │C │V │B │N │M │, │. │Shift │↑ │/ │
36 * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴──┬───┼───┼───┤
37 * │Ctrl │GUI│Alt │Space │Alt│← │↓ │→ │
38 * └─────┴───┴─────┴───────────────────────────┴───┴───┴───┴───┘
39 */
40 [_BASE] = LAYOUT_60_ansi_arrow_split_bs_7u_spc(
41 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_BSLS, KC_DEL,
42 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_BSPC,
43 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,
44 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,
45 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT
46 )
47};
diff --git a/layouts/default/60_ansi_arrow_split_bs_7u_spc/info.json b/layouts/default/60_ansi_arrow_split_bs_7u_spc/info.json
new file mode 100644
index 000000000..78301af94
--- /dev/null
+++ b/layouts/default/60_ansi_arrow_split_bs_7u_spc/info.json
@@ -0,0 +1,80 @@
1{
2 "keyboard_name": "60% ANSI Arrow Split Backspace & 7U Space Layout",
3 "url": "https://mr.sendyyk.com",
4 "maintainer": "Sendy YK <mr@sendyyk.com>",
5 "width": 15,
6 "height": 5,
7 "layouts": {
8 "LAYOUT_60_ansi_arrow": {
9 "layout": [
10 {"x": 0, "y": 0},
11 {"x": 1, "y": 0},
12 {"x": 2, "y": 0},
13 {"x": 3, "y": 0},
14 {"x": 4, "y": 0},
15 {"x": 5, "y": 0},
16 {"x": 6, "y": 0},
17 {"x": 7, "y": 0},
18 {"x": 8, "y": 0},
19 {"x": 9, "y": 0},
20 {"x": 10, "y": 0},
21 {"x": 11, "y": 0},
22 {"x": 12, "y": 0},
23 {"x": 13, "y": 0},
24 {"x": 14, "y": 0},
25
26 {"x": 0, "y": 1, "w": 1.5},
27 {"x": 1.5, "y": 1},
28 {"x": 2.5, "y": 1},
29 {"x": 3.5, "y": 1},
30 {"x": 4.5, "y": 1},
31 {"x": 5.5, "y": 1},
32 {"x": 6.5, "y": 1},
33 {"x": 7.5, "y": 1},
34 {"x": 8.5, "y": 1},
35 {"x": 9.5, "y": 1},
36 {"x": 10.5, "y": 1},
37 {"x": 11.5, "y": 1},
38 {"x": 12.5, "y": 1},
39 {"x": 13.5, "y": 1, "w": 1.5},
40
41 {"x": 0, "y": 2, "w": 1.75},
42 {"x": 1.75, "y": 2},
43 {"x": 2.75, "y": 2},
44 {"x": 3.75, "y": 2},
45 {"x": 4.75, "y": 2},
46 {"x": 5.75, "y": 2},
47 {"x": 6.75, "y": 2},
48 {"x": 7.75, "y": 2},
49 {"x": 8.75, "y": 2},
50 {"x": 9.75, "y": 2},
51 {"x": 10.75, "y": 2},
52 {"x": 11.75, "y": 2},
53 {"x": 12.75, "y": 2, "w": 2.25},
54
55 {"x": 0, "y": 3, "w": 2.25},
56 {"x": 2.25, "y": 3},
57 {"x": 3.25, "y": 3},
58 {"x": 4.25, "y": 3},
59 {"x": 5.25, "y": 3},
60 {"x": 6.25, "y": 3},
61 {"x": 7.25, "y": 3},
62 {"x": 8.25, "y": 3},
63 {"x": 9.25, "y": 3},
64 {"x": 10.25, "y": 3},
65 {"x": 11.25, "y": 3, "w": 1.75},
66 {"x": 13, "y": 3},
67 {"x": 14, "y": 3},
68
69 {"x": 0, "y": 4, "w": 1.5},
70 {"x": 1.5, "y": 4},
71 {"x": 2.5, "y": 4, "w": 1.5},
72 {"x": 4, "y": 4, "w": 7},
73 {"x": 11, "y": 4},
74 {"x": 12, "y": 4},
75 {"x": 13, "y": 4},
76 {"x": 14, "y": 4}
77 ]
78 }
79 }
80}
diff --git a/layouts/default/60_ansi_arrow_split_bs_7u_spc/layout.json b/layouts/default/60_ansi_arrow_split_bs_7u_spc/layout.json
new file mode 100644
index 000000000..db9c8d167
--- /dev/null
+++ b/layouts/default/60_ansi_arrow_split_bs_7u_spc/layout.json
@@ -0,0 +1,5 @@
1[{a:7},"","","","","","","","","","","","","","",""],
2[{w:1.5},"","","","","","","","","","","","","",{w:1.5},""],
3[{w:1.75},"","","","","","","","","","","","",{w:2.25},""],
4[{w:2.25},"","","","","","","","","","",{w:1.75},"","",""],
5[{w:1.5},"","",{w:1.5},"",{w:7},"","","","",""]
diff --git a/layouts/default/60_ansi_arrow_split_bs_7u_spc/readme.md b/layouts/default/60_ansi_arrow_split_bs_7u_spc/readme.md
new file mode 100644
index 000000000..30292abb9
--- /dev/null
+++ b/layouts/default/60_ansi_arrow_split_bs_7u_spc/readme.md
@@ -0,0 +1,30 @@
1# 60_ansi_arrow_split_bs_7u_spc Keymap
2
3Default 60 ANSI Arrow Split Backspace & 7U Space Keymap by [Sendy YK](https://mr.sendyyk.com).
4
5```c
6 /*
7 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
8 * │Esc│1 │2 │3 │4 │5 │6 │7 │8 │9 │0 │- │+ │\ │Del│
9 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
10 * │Tab │Q │W │E │R │T │Y │U │I │O │P │[ │] │Bspc │
11 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
12 * │Caps │A │S │D │F │G │H │J │K │L │; │' │Enter │
13 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
14 * │Shift │Z │X │C │V │B │N │M │, │. │Shift │↑ │/ │
15 * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴──┬───┼───┼───┤
16 * │Ctrl │GUI│Alt │Space │Alt│← │↓ │→ │
17 * └─────┴───┴─────┴───────────────────────────┴───┴───┴───┴───┘
18 */
19```
20
21## Build The Firmware
22
23Make example for keyboard (after setting up your build environment):
24
25 make <keyboard_folder>:default_60_ansi_arrow_split_bs_7u_spc
26
27More information:
28* [Setting Up Your QMK Environment](https://docs.qmk.fm/#/getting_started_build_tools)
29* [More Detailed make Instructions](https://docs.qmk.fm/#/getting_started_make_guide)
30* [The Complete Newbs Guide To QMK](https://docs.qmk.fm/#/newbs)