aboutsummaryrefslogtreecommitdiff
path: root/keyboards/chlx/merro60/merro60.h
diff options
context:
space:
mode:
authorJames Young <18669334+noroadsleft@users.noreply.github.com>2021-07-31 12:17:55 -0700
committerGitHub <noreply@github.com>2021-07-31 12:17:55 -0700
commit851d995a7db7db6bfc366e3d43ce97f7fab17295 (patch)
treecf0ace988a69220129c75b850a797ed4ee5b8da9 /keyboards/chlx/merro60/merro60.h
parent1305b6d82e87ff4116832de6e70f08186c278a6c (diff)
downloadqmk_firmware-851d995a7db7db6bfc366e3d43ce97f7fab17295.tar.gz
qmk_firmware-851d995a7db7db6bfc366e3d43ce97f7fab17295.zip
Merro60 Layout Macro Refactor (#13827)
Diffstat (limited to 'keyboards/chlx/merro60/merro60.h')
-rw-r--r--keyboards/chlx/merro60/merro60.h113
1 files changed, 69 insertions, 44 deletions
diff --git a/keyboards/chlx/merro60/merro60.h b/keyboards/chlx/merro60/merro60.h
index 228112999..dee6a5a96 100644
--- a/keyboards/chlx/merro60/merro60.h
+++ b/keyboards/chlx/merro60/merro60.h
@@ -23,7 +23,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
23 23
24#define XXX KC_NO 24#define XXX KC_NO
25 25
26/* //////////////////// LAYOUT_default //////////////////// 26/* //////////////////// LAYOUT_all ////////////////////
27 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ 27 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
28 * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │ 28 * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │
29 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ 29 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
@@ -37,7 +37,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
37 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ 37 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
38*/ 38*/
39 39
40#define LAYOUT_default( \ 40#define LAYOUT_all( \
41 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \ 41 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
42 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ 42 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
43 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ 43 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
@@ -51,34 +51,61 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
51 { k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d, XXX } \ 51 { k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d, XXX } \
52} 52}
53 53
54/* //////////////////// LAYOUT_ansi //////////////////// 54/* //////////////////// LAYOUT_60_ansi ////////////////////
55 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
56 * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │
57 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
58 * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │
59 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
60 * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2d │
61 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
62 * │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │
63 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
64 * │40 │41 │42 │45 │4a │4b │4c │4d │
65 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
66*/
67#define LAYOUT_60_ansi( \
68 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \
69 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
70 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \
71 k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \
72 k40, k41, k42, k45, k4a, k4b, k4c, k4d \
73) { \
74 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, XXX }, \
75 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, XXX }, \
76 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d, XXX }, \
77 { XXX, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, XXX, XXX }, \
78 { k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d, XXX } \
79}
80
81/* //////////////////// LAYOUT_60_ansi_split_bs_rshift ////////////////////
55 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ 82 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
56 * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │ 83 * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │
57 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ 84 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
58 * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │ 85 * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │
59 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ 86 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
60 * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2d │ 87 * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2d │
61 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ 88 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤
62 * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3d │3e 89 * │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │3d
63 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ 90 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤
64 * │40 │41 │42 │45 │4a │4b │4d │4e │ 91 * │40 │41 │42 │45 │4a │4b │4d │4e │
65 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ 92 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
66*/ 93*/
67#define LAYOUT_ansi( \ 94#define LAYOUT_60_ansi_split_bs_rshift( \
68 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \ 95 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
69 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ 96 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
70 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \ 97 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \
71 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \ 98 k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
72 k40, k41, k42, k45, k4a, k4b, k4c, k4d \ 99 k40, k41, k42, k45, k4a, k4b, k4c, k4d \
73) { \ 100) { \
74 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \ 101 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \
75 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, XXX }, \ 102 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, XXX }, \
76 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d, XXX }, \ 103 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, XXX, k2d, XXX }, \
77 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX }, \ 104 { XXX, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX }, \
78 { k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d, XXX } \ 105 { k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d, XXX } \
79} 106}
80 107
81/* //////////////////// LAYOUT_hhkb //////////////////// 108/* //////////////////// LAYOUT_60_hhkb ////////////////////
82 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ 109 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
83 * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │ 110 * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │
84 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ 111 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
@@ -91,7 +118,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
91 * │▓▓▓▓▓│41 │42 │45 (7u) │4b │4c │▓▓▓▓▓│ 118 * │▓▓▓▓▓│41 │42 │45 (7u) │4b │4c │▓▓▓▓▓│
92 * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ 119 * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
93*/ 120*/
94#define LAYOUT_hhkb( \ 121#define LAYOUT_60_hhkb( \
95 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \ 122 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
96 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ 123 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
97 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \ 124 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \
@@ -105,7 +132,34 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
105 { XXX, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, XXX, k4b, k4c, XXX, XXX } \ 132 { XXX, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, XXX, k4b, k4c, XXX, XXX } \
106} 133}
107 134
108/* //////////////////// LAYOUT_iso //////////////////// 135/* //////////////////// LAYOUT_60_iso ////////////////////
136 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
137 * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │
138 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
139 * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │ │
140 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐2d │
141 * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │ │
142 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
143 * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │
144 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
145 * │40 │41 │42 │45 │4a │4b │4c │4d │
146 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
147*/
148#define LAYOUT_60_iso( \
149 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \
150 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \
151 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
152 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, \
153 k40, k41, k42, k45, k4a, k4b, k4c, k4d \
154) { \
155 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, XXX }, \
156 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, XXX, XXX }, \
157 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, XXX }, \
158 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, XXX, XXX }, \
159 { k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d, XXX } \
160}
161
162/* //////////////////// LAYOUT_60_iso_split_bs_rshift ////////////////////
109 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ 163 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
110 * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │ 164 * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │
111 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ 165 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
@@ -118,7 +172,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
118 * │40 │41 │42 │45 │4a │4b │4c │4d │ 172 * │40 │41 │42 │45 │4a │4b │4c │4d │
119 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ 173 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
120*/ 174*/
121#define LAYOUT_iso( \ 175#define LAYOUT_60_iso_split_bs_rshift( \
122 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \ 176 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
123 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \ 177 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, \
124 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ 178 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
@@ -132,7 +186,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
132 { k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d, XXX } \ 186 { k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d, XXX } \
133} 187}
134 188
135/* //////////////////// LAYOUT_tsangan //////////////////// 189/* //////////////////// LAYOUT_60_tsangan_hhkb ////////////////////
136 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ 190 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
137 * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │ 191 * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │
138 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ 192 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
@@ -145,7 +199,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
145 * │40 │41 │42 │45 (7u) │4b │4c │4d │ 199 * │40 │41 │42 │45 (7u) │4b │4c │4d │
146 * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ 200 * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
147*/ 201*/
148#define LAYOUT_tsangan( \ 202#define LAYOUT_60_tsangan_hhkb( \
149 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \ 203 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
150 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ 204 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
151 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \ 205 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2d, \
@@ -158,32 +212,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
158 { XXX, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX }, \ 212 { XXX, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX }, \
159 { k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, XXX, k4b, k4c, k4d, XXX } \ 213 { k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, XXX, k4b, k4c, k4d, XXX } \
160} 214}
161
162/* //////////////////// LAYOUT_via ////////////////////
163 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
164 * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │
165 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
166 * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │
167 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤
168 * │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d │
169 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┤
170 * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │3d │
171 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤
172 * │40 │41 │42 │45 (6.25u) │4a │4b │4c │4d │
173 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
174*/
175
176#define LAYOUT_via( \
177 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
178 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
179 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
180 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
181 k40, k41, k42, k45, k4a, k4b, k4c, k4d \
182) { \
183 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \
184 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, XXX }, \
185 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, XXX }, \
186 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, XXX }, \
187 { k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, XXX, k4a, k4b, k4c, k4d, XXX } \
188}
189