You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

855 lines
70 KiB

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