through_hole firmware variant renamed to universal
[jackhill/qmk/firmware.git] / keyboards / xwhatsit / brand_new_model_f / f77 / universal / universal.h
CommitLineData
7303e97a
PA
1/* Copyright 2020 Purdea Andrei
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include "quantum.h"
20
21/* This is a shortcut to help you visually see your layout.
22 *
23 * The first section contains all of the arguments representing the physical
24 * layout of the board and position of the keys.
25 *
26 * The second converts the arguments into a two-dimensional array which
27 * represents the switch matrix.
28 */
29
30// Note: unused columns 10..14 are not listed here. Column 15 is listed here as column 10
31// Note arguments representing the layout are named based on default F77 hhkb split backspace configuration, for other layouts argument naming might not make much sense
32// This was done for ease of implementation.
33
34// note: the LAYOUT_all layout shows all possible key positions
35#define LAYOUT_all( \
36 k_esc, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_backslash, k_backtick, k_kp7, k_kp8, k_kp9,\
37 k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl,k_backspace, k_kp4, k_kp5, k_kp6,\
38 k_lctrl, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_hashtag, k_return, k_kp1, k_kp2, k_kp3,\
39 k_lshift, k_nonusbs, k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_forwardslash, k_rshift, k_fn, k_kp0, k_up, k_kpperdel,\
40 k_caps, k_lgui, k_lalt, k_space, k_extrakey, k_ralt, k_numlock, k_rctrl, k_left,k_down,k_right\
41) \
42{ \
43 { k_1, k_2, k_4, k_6, k_8, k_0, k_equals, k_backtick, k_kp7, k_kp9, KC_NO},\
44 { k_esc, k_q, k_3, k_5, k_7, k_9, k_minus, k_backslash, KC_NO, k_kp8, KC_NO},\
45 { k_tab, k_w, k_r, k_y, k_i, k_p, k_squarebrop, k_squarebrcl, k_kp4, k_kp6, KC_NO},\
46 { k_lctrl, k_a, k_e, k_t, k_u, k_o, k_hashtag, k_backspace, k_kp2, k_kp5, KC_NO},\
47 { k_nonusbs,k_x, k_d, k_g, k_k, k_l, k_forwardslash, k_rshift, k_kp0, k_up, KC_NO},\
48 { k_lshift, k_s, k_f, k_h, k_j, k_semicolon, k_singlequote, k_return, k_kp1, k_kp3, KC_NO},\
49 { k_lgui, k_z, k_c, k_b, k_n, k_period, k_ralt, k_fn, k_left, k_kpperdel, KC_NO},\
50 { k_caps, k_lalt, k_v, k_space, k_m, k_cm, k_extrakey, k_numlock, k_rctrl, k_down, k_right}\
51}
52
53#define LAYOUT_ansi_regular_shift_regular_backspace( \
54 k_esc, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_backspace, k_kp7, k_kp8, k_kp9,\
55 k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl,k_backslash, k_kp4, k_kp5, k_kp6,\
56 k_caps, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_return, k_kp1, k_kp2, k_kp3,\
57 k_lshift, k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_forwardslash, k_rshift, k_kp0, k_up, k_kpperdel,\
58 k_lctrl, k_lgui, k_lalt, k_space, k_ralt , k_numlock, k_rctrl, k_left,k_down,k_right\
59) \
60{ \
61 { k_1, k_2, k_4, k_6, k_8, k_0, k_equals, k_backspace, k_kp7, k_kp9, KC_NO},\
62 { k_esc, k_q, k_3, k_5, k_7, k_9, k_minus, KC_NO, KC_NO, k_kp8, KC_NO},\
63 { k_tab, k_w, k_r, k_y, k_i, k_p, k_squarebrop, k_squarebrcl, k_kp4, k_kp6, KC_NO},\
64 { k_caps, k_a, k_e, k_t, k_u, k_o, KC_NO, k_backslash, k_kp2, k_kp5, KC_NO},\
65 { KC_NO, k_x, k_d, k_g, k_k, k_l, k_forwardslash, KC_NO, k_kp0, k_up, KC_NO},\
66 { k_lshift, k_s, k_f, k_h, k_j, k_semicolon, k_singlequote, k_return, k_kp1, k_kp3, KC_NO},\
67 { k_lgui, k_z, k_c, k_b, k_n, k_period, k_ralt, k_rshift, k_left, k_kpperdel, KC_NO},\
68 { k_lctrl, k_lalt, k_v, k_space, k_m, k_cm, KC_NO, k_numlock, k_rctrl, k_down, k_right}\
69}
70
71#define LAYOUT_ansi_regular_shift_split_backspace( \
72 k_esc, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_backspacel, k_backspacer, k_kp7, k_kp8, k_kp9,\
73 k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl,k_backslash, k_kp4, k_kp5, k_kp6,\
74 k_caps, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_return, k_kp1, k_kp2, k_kp3,\
75 k_lshift, k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_forwardslash, k_rshift, k_kp0, k_up, k_kpperdel,\
76 k_lctrl, k_lgui, k_lalt, k_space, k_ralt , k_numlock, k_rctrl, k_left,k_down,k_right\
77) \
78{ \
79 { k_1, k_2, k_4, k_6, k_8, k_0, k_equals, k_backspacer, k_kp7, k_kp9, KC_NO},\
80 { k_esc, k_q, k_3, k_5, k_7, k_9, k_minus, k_backspacel, KC_NO, k_kp8, KC_NO},\
81 { k_tab, k_w, k_r, k_y, k_i, k_p, k_squarebrop, k_squarebrcl, k_kp4, k_kp6, KC_NO},\
82 { k_caps, k_a, k_e, k_t, k_u, k_o, KC_NO, k_backslash, k_kp2, k_kp5, KC_NO},\
83 { KC_NO, k_x, k_d, k_g, k_k, k_l, k_forwardslash, KC_NO, k_kp0, k_up, KC_NO},\
84 { k_lshift, k_s, k_f, k_h, k_j, k_semicolon, k_singlequote, k_return, k_kp1, k_kp3, KC_NO},\
85 { k_lgui, k_z, k_c, k_b, k_n, k_period, k_ralt, k_rshift, k_left, k_kpperdel, KC_NO},\
86 { k_lctrl, k_lalt, k_v, k_space, k_m, k_cm, KC_NO, k_numlock, k_rctrl, k_down, k_right}\
87}
88
89#define LAYOUT_ansi_hhkb_split_shift_regular_backspace( \
90 k_esc, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_backtick, k_kp7, k_kp8, k_kp9,\
91 k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl,k_backspace, k_kp4, k_kp5, k_kp6,\
92 k_lctrl, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_return, k_kp1, k_kp2, k_kp3,\
93 k_lshift, k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_forwardslash, k_rshift, k_fn, k_kp0, k_up, k_kpperdel,\
94 k_caps, k_lgui, k_lalt, k_space, k_ralt , k_numlock, k_rctrl, k_left,k_down,k_right\
95) \
96{ \
97 { k_1, k_2, k_4, k_6, k_8, k_0, k_equals, k_backtick, k_kp7, k_kp9, KC_NO},\
98 { k_esc, k_q, k_3, k_5, k_7, k_9, k_minus, KC_NO, KC_NO, k_kp8, KC_NO},\
99 { k_tab, k_w, k_r, k_y, k_i, k_p, k_squarebrop, k_squarebrcl, k_kp4, k_kp6, KC_NO},\
100 { k_lctrl, k_a, k_e, k_t, k_u, k_o, KC_NO, k_backspace, k_kp2, k_kp5, KC_NO},\
101 { KC_NO, k_x, k_d, k_g, k_k, k_l, k_forwardslash, k_rshift, k_kp0, k_up, KC_NO},\
102 { k_lshift, k_s, k_f, k_h, k_j, k_semicolon, k_singlequote, k_return, k_kp1, k_kp3, KC_NO},\
103 { k_lgui, k_z, k_c, k_b, k_n, k_period, k_ralt, k_fn, k_left, k_kpperdel, KC_NO},\
104 { k_caps, k_lalt, k_v, k_space, k_m, k_cm, KC_NO, k_numlock, k_rctrl, k_down, k_right}\
105}
106
107#define LAYOUT_ansi_hhkb_split_shift_split_backspace( \
108 k_esc, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_backslash, k_backtick, k_kp7, k_kp8, k_kp9,\
109 k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl,k_backspace, k_kp4, k_kp5, k_kp6,\
110 k_lctrl, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_return, k_kp1, k_kp2, k_kp3,\
111 k_lshift, k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_forwardslash, k_rshift, k_fn, k_kp0, k_up, k_kpperdel,\
112 k_caps, k_lgui, k_lalt, k_space, k_ralt , k_numlock, k_rctrl, k_left,k_down,k_right\
113) \
114{ \
115 { k_1, k_2, k_4, k_6, k_8, k_0, k_equals, k_backtick, k_kp7, k_kp9, KC_NO},\
116 { k_esc, k_q, k_3, k_5, k_7, k_9, k_minus, k_backslash, KC_NO, k_kp8, KC_NO},\
117 { k_tab, k_w, k_r, k_y, k_i, k_p, k_squarebrop, k_squarebrcl, k_kp4, k_kp6, KC_NO},\
118 { k_lctrl, k_a, k_e, k_t, k_u, k_o, KC_NO, k_backspace, k_kp2, k_kp5, KC_NO},\
119 { KC_NO, k_x, k_d, k_g, k_k, k_l, k_forwardslash, k_rshift, k_kp0, k_up, KC_NO},\
120 { k_lshift, k_s, k_f, k_h, k_j, k_semicolon, k_singlequote, k_return, k_kp1, k_kp3, KC_NO},\
121 { k_lgui, k_z, k_c, k_b, k_n, k_period, k_ralt, k_fn, k_left, k_kpperdel, KC_NO},\
122 { k_caps, k_lalt, k_v, k_space, k_m, k_cm, KC_NO, k_numlock, k_rctrl, k_down, k_right}\
123}
124
125#define LAYOUT_ansi_nonhhkb_split_shift_regular_backspace( \
126 k_esc, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_backtick, k_kp7, k_kp8, k_kp9,\
127 k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl,k_backspace, k_kp4, k_kp5, k_kp6,\
128 k_lctrl, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_return, k_kp1, k_kp2, k_kp3,\
129 k_lshift, k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_forwardslash, k_rshift, k_fn, k_kp0, k_up, k_kpperdel,\
130 k_caps, k_lgui, k_lalt, k_space, k_ralt , k_numlock, k_rctrl, k_left,k_down,k_right\
131) \
132{ \
133 { k_1, k_2, k_4, k_6, k_8, k_0, k_equals, k_backtick, k_kp7, k_kp9, KC_NO},\
134 { k_esc, k_q, k_3, k_5, k_7, k_9, k_minus, KC_NO, KC_NO, k_kp8, KC_NO},\
135 { k_tab, k_w, k_r, k_y, k_i, k_p, k_squarebrop, k_squarebrcl, k_kp4, k_kp6, KC_NO},\
136 { k_lctrl, k_a, k_e, k_t, k_u, k_o, KC_NO, k_backspace, k_kp2, k_kp5, KC_NO},\
137 { KC_NO, k_x, k_d, k_g, k_k, k_l, k_forwardslash, k_rshift, k_kp0, k_up, KC_NO},\
138 { k_lshift, k_s, k_f, k_h, k_j, k_semicolon, k_singlequote, k_return, k_kp1, k_kp3, KC_NO},\
139 { k_lgui, k_z, k_c, k_b, k_n, k_period, k_ralt, k_fn, k_left, k_kpperdel, KC_NO},\
140 { k_caps, k_lalt, k_v, k_space, k_m, k_cm, KC_NO, k_numlock, k_rctrl, k_down, k_right}\
141}
142
143#define LAYOUT_ansi_nonhhkb_split_shift_split_backspace( \
144 k_esc, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_backslash, k_backtick, k_kp7, k_kp8, k_kp9,\
145 k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl,k_backspace, k_kp4, k_kp5, k_kp6,\
146 k_lctrl, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_return, k_kp1, k_kp2, k_kp3,\
147 k_lshift, k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_forwardslash, k_rshift, k_fn, k_kp0, k_up, k_kpperdel,\
148 k_caps, k_lgui, k_lalt, k_space, k_ralt , k_numlock, k_rctrl, k_left,k_down,k_right\
149) \
150{ \
151 { k_1, k_2, k_4, k_6, k_8, k_0, k_equals, k_backtick, k_kp7, k_kp9, KC_NO},\
152 { k_esc, k_q, k_3, k_5, k_7, k_9, k_minus, k_backslash, KC_NO, k_kp8, KC_NO},\
153 { k_tab, k_w, k_r, k_y, k_i, k_p, k_squarebrop, k_squarebrcl, k_kp4, k_kp6, KC_NO},\
154 { k_lctrl, k_a, k_e, k_t, k_u, k_o, KC_NO, k_backspace, k_kp2, k_kp5, KC_NO},\
155 { KC_NO, k_x, k_d, k_g, k_k, k_l, k_forwardslash, k_rshift, k_kp0, k_up, KC_NO},\
156 { k_lshift, k_s, k_f, k_h, k_j, k_semicolon, k_singlequote, k_return, k_kp1, k_kp3, KC_NO},\
157 { k_lgui, k_z, k_c, k_b, k_n, k_period, k_ralt, k_fn, k_left, k_kpperdel, KC_NO},\
158 { k_caps, k_lalt, k_v, k_space, k_m, k_cm, KC_NO, k_numlock, k_rctrl, k_down, k_right}\
159}
160
161#define LAYOUT_iso_regular_shift_regular_backspace( \
162 k_esc, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_backspace, k_kp7, k_kp8, k_kp9,\
163 k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_return, k_kp4, k_kp5, k_kp6,\
164 k_lctrl, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_hashtag, k_kp1, k_kp2, k_kp3,\
165 k_lshift, k_nonusbs, k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_forwardslash, k_rshift, k_kp0, k_up, k_kpperdel,\
166 k_caps, k_lgui, k_lalt, k_space, k_ralt , k_numlock, k_rctrl, k_left,k_down,k_right\
167) \
168{ \
169 { k_1, k_2, k_4, k_6, k_8, k_0, k_equals, k_backspace, k_kp7, k_kp9, KC_NO},\
170 { k_esc, k_q, k_3, k_5, k_7, k_9, k_minus, KC_NO, KC_NO, k_kp8, KC_NO},\
171 { k_tab, k_w, k_r, k_y, k_i, k_p, k_squarebrop, k_squarebrcl, k_kp4, k_kp6, KC_NO},\
172 { k_lctrl, k_a, k_e, k_t, k_u, k_o, k_hashtag, KC_NO, k_kp2, k_kp5, KC_NO},\
173 { k_nonusbs,k_x, k_d, k_g, k_k, k_l, k_forwardslash, KC_NO, k_kp0, k_up, KC_NO},\
174 { k_lshift, k_s, k_f, k_h, k_j, k_semicolon, k_singlequote, k_return, k_kp1, k_kp3, KC_NO},\
175 { k_lgui, k_z, k_c, k_b, k_n, k_period, k_ralt, k_rshift, k_left, k_kpperdel, KC_NO},\
176 { k_caps, k_lalt, k_v, k_space, k_m, k_cm, KC_NO, k_numlock, k_rctrl, k_down, k_right}\
177}
178
179#define LAYOUT_iso_regular_shift_split_backspace( \
180 k_esc, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_backslash, k_backtick, k_kp7, k_kp8, k_kp9,\
181 k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_return, k_kp4, k_kp5, k_kp6,\
182 k_lctrl, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_hashtag, k_kp1, k_kp2, k_kp3,\
183 k_lshift, k_nonusbs, k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_forwardslash, k_rshift, k_kp0, k_up, k_kpperdel,\
184 k_caps, k_lgui, k_lalt, k_space, k_ralt , k_numlock, k_rctrl, k_left,k_down,k_right\
185) \
186{ \
187 { k_1, k_2, k_4, k_6, k_8, k_0, k_equals, k_backtick, k_kp7, k_kp9, KC_NO},\
188 { k_esc, k_q, k_3, k_5, k_7, k_9, k_minus, k_backslash, KC_NO, k_kp8, KC_NO},\
189 { k_tab, k_w, k_r, k_y, k_i, k_p, k_squarebrop, k_squarebrcl, k_kp4, k_kp6, KC_NO},\
190 { k_lctrl, k_a, k_e, k_t, k_u, k_o, k_hashtag, KC_NO, k_kp2, k_kp5, KC_NO},\
191 { k_nonusbs,k_x, k_d, k_g, k_k, k_l, k_forwardslash, KC_NO, k_kp0, k_up, KC_NO},\
192 { k_lshift, k_s, k_f, k_h, k_j, k_semicolon, k_singlequote, k_return, k_kp1, k_kp3, KC_NO},\
193 { k_lgui, k_z, k_c, k_b, k_n, k_period, k_ralt, k_rshift, k_left, k_kpperdel, KC_NO},\
194 { k_caps, k_lalt, k_v, k_space, k_m, k_cm, KC_NO, k_numlock, k_rctrl, k_down, k_right}\
195}
196
197#define LAYOUT_iso_nonhhkb_split_shift_regular_backspace( \
198 k_esc, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_backspace, k_kp7, k_kp8, k_kp9,\
199 k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_return, k_kp4, k_kp5, k_kp6,\
200 k_lctrl, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_hashtag, k_kp1, k_kp2, k_kp3,\
201 k_lshift, k_nonusbs, k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_forwardslash, k_rshift, k_fn, k_kp0, k_up, k_kpperdel,\
202 k_caps, k_lgui, k_lalt, k_space, k_ralt , k_numlock, k_rctrl, k_left,k_down,k_right\
203) \
204{ \
205 { k_1, k_2, k_4, k_6, k_8, k_0, k_equals, k_backspace, k_kp7, k_kp9, KC_NO},\
206 { k_esc, k_q, k_3, k_5, k_7, k_9, k_minus, KC_NO, KC_NO, k_kp8, KC_NO},\
207 { k_tab, k_w, k_r, k_y, k_i, k_p, k_squarebrop, k_squarebrcl, k_kp4, k_kp6, KC_NO},\
208 { k_lctrl, k_a, k_e, k_t, k_u, k_o, k_hashtag, KC_NO, k_kp2, k_kp5, KC_NO},\
209 { k_nonusbs,k_x, k_d, k_g, k_k, k_l, k_forwardslash, k_rshift, k_kp0, k_up, KC_NO},\
210 { k_lshift, k_s, k_f, k_h, k_j, k_semicolon, k_singlequote, k_return, k_kp1, k_kp3, KC_NO},\
211 { k_lgui, k_z, k_c, k_b, k_n, k_period, k_ralt, k_fn, k_left, k_kpperdel, KC_NO},\
212 { k_caps, k_lalt, k_v, k_space, k_m, k_cm, KC_NO, k_numlock, k_rctrl, k_down, k_right}\
213}
214
215#define LAYOUT_iso_nonhhkb_split_shift_split_backspace( \
216 k_esc, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_backslash, k_backtick, k_kp7, k_kp8, k_kp9,\
217 k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_return, k_kp4, k_kp5, k_kp6,\
218 k_lctrl, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_hashtag, k_kp1, k_kp2, k_kp3,\
219 k_lshift, k_nonusbs, k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_forwardslash, k_rshift, k_fn, k_kp0, k_up, k_kpperdel,\
220 k_caps, k_lgui, k_lalt, k_space, k_ralt , k_numlock, k_rctrl, k_left,k_down,k_right\
221) \
222{ \
223 { k_1, k_2, k_4, k_6, k_8, k_0, k_equals, k_backtick, k_kp7, k_kp9, KC_NO},\
224 { k_esc, k_q, k_3, k_5, k_7, k_9, k_minus, k_backslash, KC_NO, k_kp8, KC_NO},\
225 { k_tab, k_w, k_r, k_y, k_i, k_p, k_squarebrop, k_squarebrcl, k_kp4, k_kp6, KC_NO},\
226 { k_lctrl, k_a, k_e, k_t, k_u, k_o, k_hashtag, KC_NO, k_kp2, k_kp5, KC_NO},\
227 { k_nonusbs,k_x, k_d, k_g, k_k, k_l, k_forwardslash, k_rshift, k_kp0, k_up, KC_NO},\
228 { k_lshift, k_s, k_f, k_h, k_j, k_semicolon, k_singlequote, k_return, k_kp1, k_kp3, KC_NO},\
229 { k_lgui, k_z, k_c, k_b, k_n, k_period, k_ralt, k_fn, k_left, k_kpperdel, KC_NO},\
230 { k_caps, k_lalt, k_v, k_space, k_m, k_cm, KC_NO, k_numlock, k_rctrl, k_down, k_right}\
231}
232
233#define LAYOUT_iso_hhkb_split_shift_regular_backspace( \
234 k_esc, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_backspace, k_kp7, k_kp8, k_kp9,\
235 k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_return, k_kp4, k_kp5, k_kp6,\
236 k_lctrl, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_hashtag, k_kp1, k_kp2, k_kp3,\
237 k_lshift, k_nonusbs, k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_forwardslash, k_rshift, k_fn, k_kp0, k_up, k_kpperdel,\
238 k_caps, k_lgui, k_lalt, k_space, k_ralt , k_numlock, k_rctrl, k_left,k_down,k_right\
239) \
240{ \
241 { k_1, k_2, k_4, k_6, k_8, k_0, k_equals, k_backspace, k_kp7, k_kp9, KC_NO},\
242 { k_esc, k_q, k_3, k_5, k_7, k_9, k_minus, KC_NO, KC_NO, k_kp8, KC_NO},\
243 { k_tab, k_w, k_r, k_y, k_i, k_p, k_squarebrop, k_squarebrcl, k_kp4, k_kp6, KC_NO},\
244 { k_lctrl, k_a, k_e, k_t, k_u, k_o, k_hashtag, KC_NO, k_kp2, k_kp5, KC_NO},\
245 { k_nonusbs,k_x, k_d, k_g, k_k, k_l, k_forwardslash, k_rshift, k_kp0, k_up, KC_NO},\
246 { k_lshift, k_s, k_f, k_h, k_j, k_semicolon, k_singlequote, k_return, k_kp1, k_kp3, KC_NO},\
247 { k_lgui, k_z, k_c, k_b, k_n, k_period, k_ralt, k_fn, k_left, k_kpperdel, KC_NO},\
248 { k_caps, k_lalt, k_v, k_space, k_m, k_cm, KC_NO, k_numlock, k_rctrl, k_down, k_right}\
249}
250
251#define LAYOUT_iso_hhkb_split_shift_split_backspace( \
252 k_esc, k_1, k_2, k_3, k_4, k_5, k_6, k_7, k_8, k_9, k_0, k_minus, k_equals, k_backslash, k_backtick, k_kp7, k_kp8, k_kp9,\
253 k_tab, k_q, k_w, k_e, k_r, k_t, k_y, k_u, k_i, k_o, k_p, k_squarebrop, k_squarebrcl, k_return, k_kp4, k_kp5, k_kp6,\
254 k_lctrl, k_a, k_s, k_d, k_f, k_g, k_h, k_j, k_k, k_l, k_semicolon, k_singlequote, k_hashtag, k_kp1, k_kp2, k_kp3,\
255 k_lshift, k_nonusbs, k_z, k_x, k_c, k_v, k_b, k_n, k_m, k_cm,k_period, k_forwardslash, k_rshift, k_fn, k_kp0, k_up, k_kpperdel,\
256 k_caps, k_lgui, k_lalt, k_space, k_ralt , k_numlock, k_rctrl, k_left,k_down,k_right\
257) \
258{ \
259 { k_1, k_2, k_4, k_6, k_8, k_0, k_equals, k_backtick, k_kp7, k_kp9, KC_NO},\
260 { k_esc, k_q, k_3, k_5, k_7, k_9, k_minus, k_backslash, KC_NO, k_kp8, KC_NO},\
261 { k_tab, k_w, k_r, k_y, k_i, k_p, k_squarebrop, k_squarebrcl, k_kp4, k_kp6, KC_NO},\
262 { k_lctrl, k_a, k_e, k_t, k_u, k_o, k_hashtag, KC_NO, k_kp2, k_kp5, KC_NO},\
263 { k_nonusbs,k_x, k_d, k_g, k_k, k_l, k_forwardslash, k_rshift, k_kp0, k_up, KC_NO},\
264 { k_lshift, k_s, k_f, k_h, k_j, k_semicolon, k_singlequote, k_return, k_kp1, k_kp3, KC_NO},\
265 { k_lgui, k_z, k_c, k_b, k_n, k_period, k_ralt, k_fn, k_left, k_kpperdel, KC_NO},\
266 { k_caps, k_lalt, k_v, k_space, k_m, k_cm, KC_NO, k_numlock, k_rctrl, k_down, k_right}\
267}