1
0

rev1.h 71 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869
  1. /* Copyright 2020 MudkipMao
  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. #pragma once
  17. #include "quantum.h"
  18. #define ____ KC_NO
  19. /* ANSI
  20. * ,------. ,-------------------------------------------------------------------------------------------------.
  21. * | | | | | | | | | | | | | | | | | |
  22. * |------| |-------------------------------------------------------------------------------------------------|
  23. | | | | | | | | | | | | | | | | | |
  24. * |------| |-------------------------------------------------------------------------------------------------|
  25. * | | | | | | | | | | | | | | | | |
  26. * |------| |-------------------------------------------------------------------------------------------------|
  27. * | | | | | | | | | | | | | | | | |
  28. * |------| |-------------------------------------------------------------------------------------------------|
  29. * | | | | | | | | | | | |
  30. * `------' `-------------------------------------------------------------------------------------------------'
  31. */
  32. #define LAYOUT_ansi( \
  33. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
  34. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
  35. K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
  36. K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
  37. K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
  38. ) { \
  39. { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
  40. { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
  41. { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
  42. { K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
  43. { K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
  44. }
  45. /* ANSI with small shift
  46. * ,------. ,-------------------------------------------------------------------------------------------------.
  47. * | | | | | | | | | | | | | | | | | |
  48. * |------| |-------------------------------------------------------------------------------------------------|
  49. | | | | | | | | | | | | | | | | | |
  50. * |------| |-------------------------------------------------------------------------------------------------|
  51. * | | | | | | | | | | | | | | | | |
  52. * |------| |-------------------------------------------------------------------------------------------------|
  53. * | | | | | | | | | | | | | | | | | |
  54. * |------| |-------------------------------------------------------------------------------------------------|
  55. * | | | | | | | | | | | |
  56. * `------' `-------------------------------------------------------------------------------------------------'
  57. */
  58. #define LAYOUT_ansi_small_lshift( \
  59. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
  60. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
  61. K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
  62. K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
  63. K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
  64. ) { \
  65. { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
  66. { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
  67. { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
  68. { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
  69. { K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
  70. }
  71. /* ANSI with small backspace
  72. * ,------. ,-------------------------------------------------------------------------------------------------.
  73. * | | | | | | | | | | | | | | | | | | |
  74. * |------| |-------------------------------------------------------------------------------------------------|
  75. | | | | | | | | | | | | | | | | | |
  76. * |------| |-------------------------------------------------------------------------------------------------|
  77. * | | | | | | | | | | | | | | | | |
  78. * |------| |-------------------------------------------------------------------------------------------------|
  79. * | | | | | | | | | | | | | | | | |
  80. * |------| |-------------------------------------------------------------------------------------------------|
  81. * | | | | | | | | | | | |
  82. * `------' `-------------------------------------------------------------------------------------------------'
  83. */
  84. #define LAYOUT_ansi_small_bspc( \
  85. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
  86. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
  87. K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
  88. K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
  89. K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
  90. ) { \
  91. { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
  92. { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
  93. { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
  94. { K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
  95. { K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
  96. }
  97. /* ANSI with small shift and small backspace
  98. * ,------. ,-------------------------------------------------------------------------------------------------.
  99. * | | | | | | | | | | | | | | | | | | |
  100. * |------| |-------------------------------------------------------------------------------------------------|
  101. | | | | | | | | | | | | | | | | | |
  102. * |------| |-------------------------------------------------------------------------------------------------|
  103. * | | | | | | | | | | | | | | | | |
  104. * |------| |-------------------------------------------------------------------------------------------------|
  105. * | | | | | | | | | | | | | | | | | |
  106. * |------| |-------------------------------------------------------------------------------------------------|
  107. * | | | | | | | | | | | |
  108. * `------' `-------------------------------------------------------------------------------------------------'
  109. */
  110. #define LAYOUT_ansi_small_lshift_small_bspc( \
  111. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
  112. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
  113. K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
  114. K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
  115. K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
  116. ) { \
  117. { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
  118. { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
  119. { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
  120. { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
  121. { K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
  122. }
  123. /* **************************************************************************************************************************************** */
  124. /* ANSI with 1u keys in the bottom row
  125. * ,------. ,-------------------------------------------------------------------------------------------------.
  126. * | | | | | | | | | | | | | | | | | |
  127. * |------| |-------------------------------------------------------------------------------------------------|
  128. | | | | | | | | | | | | | | | | | |
  129. * |------| |-------------------------------------------------------------------------------------------------|
  130. * | | | | | | | | | | | | | | | | |
  131. * |------| |-------------------------------------------------------------------------------------------------|
  132. * | | | | | | | | | | | | | | | | |
  133. * |------| |-------------------------------------------------------------------------------------------------|
  134. * | | | | | | | | | | | | |
  135. * `------' `-------------------------------------------------------------------------------------------------'
  136. */
  137. #define LAYOUT_ansi_1u( \
  138. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
  139. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
  140. K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
  141. K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
  142. K400, K401, K402, K403, K407, K410, K411, K412, K413, K414, K415 \
  143. ) { \
  144. { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
  145. { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
  146. { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
  147. { K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
  148. { K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, K412, K413, K414, K415 } \
  149. }
  150. /* ANSI with small shift and 1u keys in the bottom row
  151. * ,------. ,-------------------------------------------------------------------------------------------------.
  152. * | | | | | | | | | | | | | | | | | |
  153. * |------| |-------------------------------------------------------------------------------------------------|
  154. | | | | | | | | | | | | | | | | | |
  155. * |------| |-------------------------------------------------------------------------------------------------|
  156. * | | | | | | | | | | | | | | | | |
  157. * |------| |-------------------------------------------------------------------------------------------------|
  158. * | | | | | | | | | | | | | | | | | |
  159. * |------| |-------------------------------------------------------------------------------------------------|
  160. * | | | | | | | | | | | | |
  161. * `------' `-------------------------------------------------------------------------------------------------'
  162. */
  163. #define LAYOUT_ansi_1u_small_lshift( \
  164. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
  165. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
  166. K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
  167. K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
  168. K400, K401, K402, K403, K407, K410, K411, K412, K413, K414, K415 \
  169. ) { \
  170. { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
  171. { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
  172. { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
  173. { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
  174. { K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, K412, K413, K414, K415 } \
  175. }
  176. /* ANSI with small backspace and 1u keys in the bottom row
  177. * ,------. ,-------------------------------------------------------------------------------------------------.
  178. * | | | | | | | | | | | | | | | | | | |
  179. * |------| |-------------------------------------------------------------------------------------------------|
  180. | | | | | | | | | | | | | | | | | |
  181. * |------| |-------------------------------------------------------------------------------------------------|
  182. * | | | | | | | | | | | | | | | | |
  183. * |------| |-------------------------------------------------------------------------------------------------|
  184. * | | | | | | | | | | | | | | | | |
  185. * |------| |-------------------------------------------------------------------------------------------------|
  186. * | | | | | | | | | | | | |
  187. * `------' `-------------------------------------------------------------------------------------------------'
  188. */
  189. #define LAYOUT_ansi_1u_small_bspc( \
  190. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
  191. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
  192. K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
  193. K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
  194. K400, K401, K402, K403, K407, K410, K411, K412, K413, K414, K415 \
  195. ) { \
  196. { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
  197. { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
  198. { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
  199. { K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
  200. { K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, K412, K413, K414, K415 } \
  201. }
  202. /* ANSI with small shift and small backspace and 1u keys in the bottom row
  203. * ,------. ,-------------------------------------------------------------------------------------------------.
  204. * | | | | | | | | | | | | | | | | | | |
  205. * |------| |-------------------------------------------------------------------------------------------------|
  206. | | | | | | | | | | | | | | | | | |
  207. * |------| |-------------------------------------------------------------------------------------------------|
  208. * | | | | | | | | | | | | | | | | |
  209. * |------| |-------------------------------------------------------------------------------------------------|
  210. * | | | | | | | | | | | | | | | | | |
  211. * |------| |-------------------------------------------------------------------------------------------------|
  212. * | | | | | | | | | | | | |
  213. * `------' `-------------------------------------------------------------------------------------------------'
  214. */
  215. #define LAYOUT_ansi_1u_small_lshift_small_bspc( \
  216. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
  217. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
  218. K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
  219. K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
  220. K400, K401, K402, K403, K407, K410, K411, K412, K413, K414, K415 \
  221. ) { \
  222. { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
  223. { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
  224. { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
  225. { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
  226. { K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, K412, K413, K414, K415 } \
  227. }
  228. /* **************************************************************************************************************************************** */
  229. /* ANSI with 7u spacebar
  230. * ,------. ,-------------------------------------------------------------------------------------------------.
  231. * | | | | | | | | | | | | | | | | | |
  232. * |------| |-------------------------------------------------------------------------------------------------|
  233. | | | | | | | | | | | | | | | | | |
  234. * |------| |-------------------------------------------------------------------------------------------------|
  235. * | | | | | | | | | | | | | | | | |
  236. * |------| |-------------------------------------------------------------------------------------------------|
  237. * | | | | | | | | | | | | | | | | |
  238. * |------| |-------------------------------------------------------------------------------------------------|
  239. * | | | | | | | | | | |
  240. * `------' `-------------------------------------------------------------------------------------------------'
  241. */
  242. #define LAYOUT_ansi_7u( \
  243. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
  244. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
  245. K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
  246. K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
  247. K400, K401, K402, K407, K410, K411, K413, K414, K415 \
  248. ) { \
  249. { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
  250. { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
  251. { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
  252. { K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
  253. { K400, K401, K402, ____, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
  254. }
  255. /* ANSI with small shift and 7u spacebar
  256. * ,------. ,-------------------------------------------------------------------------------------------------.
  257. * | | | | | | | | | | | | | | | | | |
  258. * |------| |-------------------------------------------------------------------------------------------------|
  259. | | | | | | | | | | | | | | | | | |
  260. * |------| |-------------------------------------------------------------------------------------------------|
  261. * | | | | | | | | | | | | | | | | |
  262. * |------| |-------------------------------------------------------------------------------------------------|
  263. * | | | | | | | | | | | | | | | | | |
  264. * |------| |-------------------------------------------------------------------------------------------------|
  265. * | | | | | | | | | | |
  266. * `------' `-------------------------------------------------------------------------------------------------'
  267. */
  268. #define LAYOUT_ansi_7u_small_lshift( \
  269. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
  270. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
  271. K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
  272. K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
  273. K400, K401, K402, K407, K410, K411, K413, K414, K415 \
  274. ) { \
  275. { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
  276. { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
  277. { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
  278. { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
  279. { K400, K401, K402, ____, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
  280. }
  281. /* ANSI with small backspace and 7u spacebar
  282. * ,------. ,-------------------------------------------------------------------------------------------------.
  283. * | | | | | | | | | | | | | | | | | | |
  284. * |------| |-------------------------------------------------------------------------------------------------|
  285. | | | | | | | | | | | | | | | | | |
  286. * |------| |-------------------------------------------------------------------------------------------------|
  287. * | | | | | | | | | | | | | | | | |
  288. * |------| |-------------------------------------------------------------------------------------------------|
  289. * | | | | | | | | | | | | | | | | |
  290. * |------| |-------------------------------------------------------------------------------------------------|
  291. * | | | | | | | | | | |
  292. * `------' `-------------------------------------------------------------------------------------------------'
  293. */
  294. #define LAYOUT_ansi_7u_small_bspc( \
  295. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
  296. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
  297. K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
  298. K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
  299. K400, K401, K402, K407, K410, K411, K413, K414, K415 \
  300. ) { \
  301. { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
  302. { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
  303. { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
  304. { K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
  305. { K400, K401, K402, ____, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
  306. }
  307. /* ANSI with small shift and small backspace and 7u spacebar
  308. * ,------. ,-------------------------------------------------------------------------------------------------.
  309. * | | | | | | | | | | | | | | | | | | |
  310. * |------| |-------------------------------------------------------------------------------------------------|
  311. | | | | | | | | | | | | | | | | | |
  312. * |------| |-------------------------------------------------------------------------------------------------|
  313. * | | | | | | | | | | | | | | | | |
  314. * |------| |-------------------------------------------------------------------------------------------------|
  315. * | | | | | | | | | | | | | | | | | |
  316. * |------| |-------------------------------------------------------------------------------------------------|
  317. * | | | | | | | | | | |
  318. * `------' `-------------------------------------------------------------------------------------------------'
  319. */
  320. #define LAYOUT_ansi_7u_small_lshift_small_bspc( \
  321. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
  322. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
  323. K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
  324. K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
  325. K400, K401, K402, K407, K410, K411, K413, K414, K415 \
  326. ) { \
  327. { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
  328. { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
  329. { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
  330. { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
  331. { K400, K401, K402, ____, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
  332. }
  333. /* **************************************************************************************************************************************** */
  334. /* ANSI with blocker
  335. * ,------. ,-------------------------------------------------------------------------------------------------.
  336. * | | | | | | | | | | | | | | | | | |
  337. * |------| |-------------------------------------------------------------------------------------------------|
  338. | | | | | | | | | | | | | | | | | |
  339. * |------| |-------------------------------------------------------------------------------------------------|
  340. * | | | | | | | | | | | | | | | | |
  341. * |------| |-------------------------------------------------------------------------------------------------|
  342. * | | | | | | | | | | | | | | | | |
  343. * |------| |-------------------------------------------------------------------------------------------------|
  344. * | | | | | | | | | | | | |
  345. * `------' `-------------------------------------------------------------------------- -------------------'
  346. */
  347. #define LAYOUT_ansi_blocker( \
  348. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
  349. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
  350. K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
  351. K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
  352. K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
  353. ) { \
  354. { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
  355. { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
  356. { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
  357. { K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
  358. { K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
  359. }
  360. /* ANSI with blocker and small shift
  361. * ,------. ,-------------------------------------------------------------------------------------------------.
  362. * | | | | | | | | | | | | | | | | | |
  363. * |------| |-------------------------------------------------------------------------------------------------|
  364. | | | | | | | | | | | | | | | | | |
  365. * |------| |-------------------------------------------------------------------------------------------------|
  366. * | | | | | | | | | | | | | | | | |
  367. * |------| |-------------------------------------------------------------------------------------------------|
  368. * | | | | | | | | | | | | | | | | | |
  369. * |------| |-------------------------------------------------------------------------------------------------|
  370. * | | | | | | | | | | | | |
  371. * `------' `-------------------------------------------------------------------------- -------------------'
  372. */
  373. #define LAYOUT_ansi_blocker_small_lshift( \
  374. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
  375. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
  376. K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
  377. K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
  378. K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
  379. ) { \
  380. { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
  381. { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
  382. { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
  383. { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
  384. { K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
  385. }
  386. /* ANSI with blocker and small backspace
  387. * ,------. ,-------------------------------------------------------------------------------------------------.
  388. * | | | | | | | | | | | | | | | | | | |
  389. * |------| |-------------------------------------------------------------------------------------------------|
  390. | | | | | | | | | | | | | | | | | |
  391. * |------| |-------------------------------------------------------------------------------------------------|
  392. * | | | | | | | | | | | | | | | | |
  393. * |------| |-------------------------------------------------------------------------------------------------|
  394. * | | | | | | | | | | | | | | | | |
  395. * |------| |-------------------------------------------------------------------------------------------------|
  396. * | | | | | | | | | | | | |
  397. * `------' `-------------------------------------------------------------------------- -------------------'
  398. */
  399. #define LAYOUT_ansi_blocker_small_bspc( \
  400. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
  401. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
  402. K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
  403. K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
  404. K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
  405. ) { \
  406. { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
  407. { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
  408. { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
  409. { K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
  410. { K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
  411. }
  412. /* ANSI with blocker and small shift and small backspace
  413. * ,------. ,-------------------------------------------------------------------------------------------------.
  414. * | | | | | | | | | | | | | | | | | | |
  415. * |------| |-------------------------------------------------------------------------------------------------|
  416. | | | | | | | | | | | | | | | | | |
  417. * |------| |-------------------------------------------------------------------------------------------------|
  418. * | | | | | | | | | | | | | | | | |
  419. * |------| |-------------------------------------------------------------------------------------------------|
  420. * | | | | | | | | | | | | | | | | | |
  421. * |------| |-------------------------------------------------------------------------------------------------|
  422. * | | | | | | | | | | | | |
  423. * `------' `-------------------------------------------------------------------------- -------------------'
  424. */
  425. #define LAYOUT_ansi_blocker_small_lshift_small_bspc( \
  426. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
  427. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
  428. K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
  429. K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
  430. K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
  431. ) { \
  432. { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
  433. { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
  434. { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
  435. { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
  436. { K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
  437. }
  438. /* **************************************************************************************************************************************** */
  439. /* ANSI with blocker and 7u spacebar
  440. * ,------. ,-------------------------------------------------------------------------------------------------.
  441. * | | | | | | | | | | | | | | | | | |
  442. * |------| |-------------------------------------------------------------------------------------------------|
  443. | | | | | | | | | | | | | | | | | |
  444. * |------| |-------------------------------------------------------------------------------------------------|
  445. * | | | | | | | | | | | | | | | | |
  446. * |------| |-------------------------------------------------------------------------------------------------|
  447. * | | | | | | | | | | | | | | | | |
  448. * |------| |-------------------------------------------------------------------------------------------------|
  449. * | | | | | | | | | | | |
  450. * `------' `--------------------------------------------------------------------------- ------------------'
  451. */
  452. #define LAYOUT_ansi_blocker_7u( \
  453. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
  454. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
  455. K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
  456. K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
  457. K400, K401, K402, K403, K407, K410, K413, K414, K415 \
  458. ) { \
  459. { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
  460. { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
  461. { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
  462. { K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
  463. { K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, ____, ____, K413, K414, K415 } \
  464. }
  465. /* ANSI with blocker and small shift and 7u spacebar
  466. * ,------. ,-------------------------------------------------------------------------------------------------.
  467. * | | | | | | | | | | | | | | | | | |
  468. * |------| |-------------------------------------------------------------------------------------------------|
  469. | | | | | | | | | | | | | | | | | |
  470. * |------| |-------------------------------------------------------------------------------------------------|
  471. * | | | | | | | | | | | | | | | | |
  472. * |------| |-------------------------------------------------------------------------------------------------|
  473. * | | | | | | | | | | | | | | | | | |
  474. * |------| |-------------------------------------------------------------------------------------------------|
  475. * | | | | | | | | | | | |
  476. * `------' `--------------------------------------------------------------------------- ------------------'
  477. */
  478. #define LAYOUT_ansi_blocker_7u_small_lshift( \
  479. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
  480. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
  481. K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
  482. K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
  483. K400, K401, K402, K403, K407, K410, K413, K414, K415 \
  484. ) { \
  485. { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
  486. { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
  487. { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
  488. { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
  489. { K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, ____, ____, K413, K414, K415 } \
  490. }
  491. /* ANSI with blocker and small backspace and 7u spacebar
  492. * ,------. ,-------------------------------------------------------------------------------------------------.
  493. * | | | | | | | | | | | | | | | | | | |
  494. * |------| |-------------------------------------------------------------------------------------------------|
  495. | | | | | | | | | | | | | | | | | |
  496. * |------| |-------------------------------------------------------------------------------------------------|
  497. * | | | | | | | | | | | | | | | | |
  498. * |------| |-------------------------------------------------------------------------------------------------|
  499. * | | | | | | | | | | | | | | | | |
  500. * |------| |-------------------------------------------------------------------------------------------------|
  501. * | | | | | | | | | | | |
  502. * `------' `--------------------------------------------------------------------------- ------------------'
  503. */
  504. #define LAYOUT_ansi_blocker_7u_small_bspc( \
  505. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
  506. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
  507. K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
  508. K300, K301, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
  509. K400, K401, K402, K403, K407, K410, K413, K414, K415 \
  510. ) { \
  511. { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
  512. { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
  513. { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
  514. { K300, K301, ____, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
  515. { K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, ____, ____, K413, K414, K415 } \
  516. }
  517. /* ANSI with blocker and small shift and small backspace and 7u spacebar
  518. * ,------. ,-------------------------------------------------------------------------------------------------.
  519. * | | | | | | | | | | | | | | | | | | |
  520. * |------| |-------------------------------------------------------------------------------------------------|
  521. | | | | | | | | | | | | | | | | | |
  522. * |------| |-------------------------------------------------------------------------------------------------|
  523. * | | | | | | | | | | | | | | | | |
  524. * |------| |-------------------------------------------------------------------------------------------------|
  525. * | | | | | | | | | | | | | | | | | |
  526. * |------| |-------------------------------------------------------------------------------------------------|
  527. * | | | | | | | | | | | |
  528. * `------' `--------------------------------------------------------------------------- ------------------'
  529. */
  530. #define LAYOUT_ansi_blocker_7u_small_lshift_small_bspc( \
  531. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
  532. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
  533. K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
  534. K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
  535. K400, K401, K402, K403, K407, K410, K413, K414, K415 \
  536. ) { \
  537. { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
  538. { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
  539. { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
  540. { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
  541. { K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, ____, ____, K413, K414, K415 } \
  542. }
  543. /* **************************************************************************************************************************************** */
  544. /* ISO
  545. * ,------. ,-------------------------------------------------------------------------------------------------.
  546. * | | | | | | | | | | | | | | | | | |
  547. * |------| |-------------------------------------------------------------------------------------------------|
  548. | | | | | | | | | | | | | | | | | |
  549. * |------| |------------------------------------------------------------------------------------ |-----|
  550. * | | | | | | | | | | | | | | | | | |
  551. * |------| |-------------------------------------------------------------------------------------------------|
  552. * | | | | | | | | | | | | | | | | | |
  553. * |------| |-------------------------------------------------------------------------------------------------|
  554. * | | | | | | | | | | | |
  555. * `------' `-------------------------------------------------------------------------------------------------'
  556. */
  557. #define LAYOUT_iso( \
  558. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
  559. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
  560. K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
  561. K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
  562. K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
  563. ) { \
  564. { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
  565. { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
  566. { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
  567. { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
  568. { K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
  569. }
  570. /* ISO with small backspace
  571. * ,------. ,-------------------------------------------------------------------------------------------------.
  572. * | | | | | | | | | | | | | | | | | | |
  573. * |------| |-------------------------------------------------------------------------------------------------|
  574. | | | | | | | | | | | | | | | | | |
  575. * |------| |------------------------------------------------------------------------------------ |-----|
  576. * | | | | | | | | | | | | | | | | | |
  577. * |------| |-------------------------------------------------------------------------------------------------|
  578. * | | | | | | | | | | | | | | | | | |
  579. * |------| |-------------------------------------------------------------------------------------------------|
  580. * | | | | | | | | | | | |
  581. * `------' `-------------------------------------------------------------------------------------------------'
  582. */
  583. #define LAYOUT_iso_small_bspc( \
  584. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
  585. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
  586. K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
  587. K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
  588. K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
  589. ) { \
  590. { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
  591. { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
  592. { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
  593. { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
  594. { K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
  595. }
  596. /* **************************************************************************************************************************************** */
  597. /* ISO with 1u keys in the bottom row
  598. * ,------. ,-------------------------------------------------------------------------------------------------.
  599. * | | | | | | | | | | | | | | | | | |
  600. * |------| |-------------------------------------------------------------------------------------------------|
  601. | | | | | | | | | | | | | | | | | |
  602. * |------| |------------------------------------------------------------------------------------ |-----|
  603. * | | | | | | | | | | | | | | | | | |
  604. * |------| |-------------------------------------------------------------------------------------------------|
  605. * | | | | | | | | | | | | | | | | | |
  606. * |------| |-------------------------------------------------------------------------------------------------|
  607. * | | | | | | | | | | | | |
  608. * `------' `-------------------------------------------------------------------------------------------------'
  609. */
  610. #define LAYOUT_iso_1u( \
  611. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
  612. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
  613. K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
  614. K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
  615. K400, K401, K402, K403, K407, K410, K411, K412, K413, K414, K415 \
  616. ) { \
  617. { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
  618. { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
  619. { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
  620. { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
  621. { K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, K412, K413, K414, K415 } \
  622. }
  623. /* ISO with small backspace and 1u keys in the bottom row
  624. * ,------. ,-------------------------------------------------------------------------------------------------.
  625. * | | | | | | | | | | | | | | | | | | |
  626. * |------| |-------------------------------------------------------------------------------------------------|
  627. | | | | | | | | | | | | | | | | | |
  628. * |------| |------------------------------------------------------------------------------------ |-----|
  629. * | | | | | | | | | | | | | | | | | |
  630. * |------| |-------------------------------------------------------------------------------------------------|
  631. * | | | | | | | | | | | | | | | | | |
  632. * |------| |-------------------------------------------------------------------------------------------------|
  633. * | | | | | | | | | | | | |
  634. * `------' `-------------------------------------------------------------------------------------------------'
  635. */
  636. #define LAYOUT_iso_1u_small_bspc( \
  637. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
  638. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
  639. K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
  640. K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
  641. K400, K401, K402, K403, K407, K410, K411, K412, K413, K414, K415 \
  642. ) { \
  643. { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
  644. { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
  645. { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
  646. { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
  647. { K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, K412, K413, K414, K415 } \
  648. }
  649. /* **************************************************************************************************************************************** */
  650. /* ISO with 7u spacebar
  651. * ,------. ,-------------------------------------------------------------------------------------------------.
  652. * | | | | | | | | | | | | | | | | | |
  653. * |------| |-------------------------------------------------------------------------------------------------|
  654. | | | | | | | | | | | | | | | | | |
  655. * |------| |------------------------------------------------------------------------------------ |-----|
  656. * | | | | | | | | | | | | | | | | | |
  657. * |------| |-------------------------------------------------------------------------------------------------|
  658. * | | | | | | | | | | | | | | | | | |
  659. * |------| |-------------------------------------------------------------------------------------------------|
  660. * | | | | | | | | | | |
  661. * `------' `-------------------------------------------------------------------------------------------------'
  662. */
  663. #define LAYOUT_iso_7u( \
  664. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
  665. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
  666. K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
  667. K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
  668. K400, K401, K402, K407, K410, K411, K413, K414, K415 \
  669. ) { \
  670. { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
  671. { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
  672. { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
  673. { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
  674. { K400, K401, K402, ____, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
  675. }
  676. /* ISO with small backspace and 7u spacebar
  677. * ,------. ,-------------------------------------------------------------------------------------------------.
  678. * | | | | | | | | | | | | | | | | | | |
  679. * |------| |-------------------------------------------------------------------------------------------------|
  680. | | | | | | | | | | | | | | | | | |
  681. * |------| |------------------------------------------------------------------------------------ |-----|
  682. * | | | | | | | | | | | | | | | | | |
  683. * |------| |-------------------------------------------------------------------------------------------------|
  684. * | | | | | | | | | | | | | | | | | |
  685. * |------| |-------------------------------------------------------------------------------------------------|
  686. * | | | | | | | | | | |
  687. * `------' `-------------------------------------------------------------------------------------------------'
  688. */
  689. #define LAYOUT_iso_7u_small_bspc( \
  690. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
  691. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
  692. K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
  693. K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
  694. K400, K401, K402, K407, K410, K411, K413, K414, K415 \
  695. ) { \
  696. { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
  697. { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
  698. { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
  699. { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
  700. { K400, K401, K402, ____, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
  701. }
  702. /* **************************************************************************************************************************************** */
  703. /* ISO with blocker
  704. * ,------. ,-------------------------------------------------------------------------------------------------.
  705. * | | | | | | | | | | | | | | | | | |
  706. * |------| |-------------------------------------------------------------------------------------------------|
  707. | | | | | | | | | | | | | | | | | |
  708. * |------| |------------------------------------------------------------------------------------ |-----|
  709. * | | | | | | | | | | | | | | | | | |
  710. * |------| |-------------------------------------------------------------------------------------------------|
  711. * | | | | | | | | | | | | | | | | | |
  712. * |------| |-------------------------------------------------------------------------------------------------|
  713. * | | | | | | | | | | | | |
  714. * `------' `-------------------------------------------------------------------------- -------------------'
  715. */
  716. #define LAYOUT_iso_blocker( \
  717. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
  718. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
  719. K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
  720. K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
  721. K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
  722. ) { \
  723. { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
  724. { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
  725. { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
  726. { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
  727. { K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
  728. }
  729. /* ISO with blocker and small backspace
  730. * ,------. ,-------------------------------------------------------------------------------------------------.
  731. * | | | | | | | | | | | | | | | | | | |
  732. * |------| |-------------------------------------------------------------------------------------------------|
  733. | | | | | | | | | | | | | | | | | |
  734. * |------| |------------------------------------------------------------------------------------ |-----|
  735. * | | | | | | | | | | | | | | | | | |
  736. * |------| |-------------------------------------------------------------------------------------------------|
  737. * | | | | | | | | | | | | | | | | | |
  738. * |------| |-------------------------------------------------------------------------------------------------|
  739. * | | | | | | | | | | | | |
  740. * `------' `-------------------------------------------------------------------------- -------------------'
  741. */
  742. #define LAYOUT_iso_blocker_small_bspc( \
  743. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
  744. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
  745. K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
  746. K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
  747. K400, K401, K402, K403, K407, K410, K411, K413, K414, K415 \
  748. ) { \
  749. { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
  750. { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
  751. { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
  752. { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
  753. { K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, K411, ____, K413, K414, K415 } \
  754. }
  755. /* **************************************************************************************************************************************** */
  756. /* ISO with blocker and 7u spacebar
  757. * ,------. ,-------------------------------------------------------------------------------------------------.
  758. * | | | | | | | | | | | | | | | | | |
  759. * |------| |-------------------------------------------------------------------------------------------------|
  760. | | | | | | | | | | | | | | | | | |
  761. * |------| |------------------------------------------------------------------------------------ |-----|
  762. * | | | | | | | | | | | | | | | | | |
  763. * |------| |-------------------------------------------------------------------------------------------------|
  764. * | | | | | | | | | | | | | | | | | |
  765. * |------| |-------------------------------------------------------------------------------------------------|
  766. * | | | | | | | | | | | |
  767. * `------' `--------------------------------------------------------------------------- ------------------'
  768. */
  769. #define LAYOUT_iso_blocker_7u( \
  770. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K015, \
  771. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
  772. K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
  773. K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
  774. K400, K401, K402, K403, K407, K410, K413, K414, K415 \
  775. ) { \
  776. { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
  777. { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
  778. { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, ____, K215 }, \
  779. { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
  780. { K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, ____, ____, K413, K414, K415 } \
  781. }
  782. /* ISO with blocker and small backspace and 7u spacebar
  783. * ,------. ,-------------------------------------------------------------------------------------------------.
  784. * | | | | | | | | | | | | | | | | | | |
  785. * |------| |-------------------------------------------------------------------------------------------------|
  786. | | | | | | | | | | | | | | | | | |
  787. * |------| |------------------------------------------------------------------------------------ |-----|
  788. * | | | | | | | | | | | | | | | | | |
  789. * |------| |-------------------------------------------------------------------------------------------------|
  790. * | | | | | | | | | | | | | | | | | |
  791. * |------| |-------------------------------------------------------------------------------------------------|
  792. * | | | | | | | | | | | |
  793. * `------' `--------------------------------------------------------------------------- ------------------'
  794. */
  795. #define LAYOUT_iso_blocker_7u_small_bspc( \
  796. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, K013, K214, K015, \
  797. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K115, \
  798. K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K114, K213, K215, \
  799. K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, \
  800. K400, K401, K402, K403, K407, K410, K413, K414, K415 \
  801. ) { \
  802. { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
  803. { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
  804. { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
  805. { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315 }, \
  806. { K400, K401, K402, K403, ____, ____, ____, K407, ____, ____, K410, ____, ____, K413, K414, K415 } \
  807. }