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.

238 lines
18 KiB

  1. /*
  2. Copyright 2014 Jun Wako <wakojun@gmail.com>
  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. This program is distributed in the hope that it will be useful,
  8. but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. GNU General Public License for more details.
  11. You should have received a copy of the GNU General Public License
  12. along with this program. If not, see <http://www.gnu.org/licenses/>.
  13. */
  14. #pragma once
  15. #include "quantum.h"
  16. #define XXX KC_NO
  17. /*
  18. *
  19. *
  20. *
  21. *
  22. *
  23. *
  24. *
  25. *
  26. *
  27. *
  28. *
  29. */
  30. #define LAYOUT_all( \
  31. k00, k01, k02, k03, k04, k05, k06, k07, k08, k10, k11, k12, k13, k14, k15, k16, \
  32. k17, k18, k20, k21, k22, k23, k24, k25, k26, k27, k28, k30, k31, k32, k33, \
  33. k34, k35, k36, k37, k38, k40, k41, k42, k43, k44, k45, k46, k47, k48, k50, \
  34. k51, k52, k53, k54, k55, k56, k57, k58, k60, k61, k62, k63, k64, k65, k66, \
  35. k67, k68, k70, k71, k72, k73, k74, k75, k76, k77 \
  36. ) { \
  37. { k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \
  38. { k10, k11, k12, k13, k14, k15, k16, k17, k18 }, \
  39. { k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \
  40. { k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
  41. { k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
  42. { k50, k51, k52, k53, k54, k55, k56, k57, k58 }, \
  43. { k60, k61, k62, k63, k64, k65, k66, k67, k68 }, \
  44. { k70, k71, k72, k73, k74, k75, k76, k77, XXX } \
  45. }
  46. /*
  47. *
  48. *
  49. *
  50. *
  51. *
  52. *
  53. *
  54. *
  55. *
  56. *
  57. *
  58. */
  59. #define LAYOUT_65_ansi( \
  60. k00, k01, k02, k03, k04, k05, k06, k07, k08, k10, k11, k12, k13, k15, k16, \
  61. k17, k18, k20, k21, k22, k23, k24, k25, k26, k27, k28, k30, k31, k32, k33, \
  62. k34, k35, k36, k37, k38, k40, k41, k42, k43, k44, k45, k46, k48, k50, \
  63. k51, k53, k54, k55, k56, k57, k58, k60, k61, k62, k63, k64, k65, k66, \
  64. k67, k68, k70, k71, k72, k73, k74, k75, k76, k77 \
  65. ) { \
  66. { k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \
  67. { k10, k11, k12, k13, XXX, k15, k16, k17, k18 }, \
  68. { k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \
  69. { k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
  70. { k40, k41, k42, k43, k44, k45, k46, XXX, k48 }, \
  71. { k50, k51, XXX, k53, k54, k55, k56, k57, k58 }, \
  72. { k60, k61, k62, k63, k64, k65, k66, k67, k68 }, \
  73. { k70, k71, k72, k73, k74, k75, k76, k77, XXX } \
  74. }
  75. /*
  76. *
  77. *
  78. *
  79. *
  80. *
  81. *
  82. *
  83. *
  84. *
  85. *
  86. *
  87. */
  88. #define LAYOUT_65_ansi_blocker( \
  89. k00, k01, k02, k03, k04, k05, k06, k07, k08, k10, k11, k12, k13, k15, k16, \
  90. k17, k18, k20, k21, k22, k23, k24, k25, k26, k27, k28, k30, k31, k32, k33, \
  91. k34, k35, k36, k37, k38, k40, k41, k42, k43, k44, k45, k46, k48, k50, \
  92. k51, k53, k54, k55, k56, k57, k58, k60, k61, k62, k63, k64, k65, k66, \
  93. k67, k68, k70, k71, k72, k73, k75, k76, k77 \
  94. ) { \
  95. { k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \
  96. { k10, k11, k12, k13, XXX, k15, k16, k17, k18 }, \
  97. { k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \
  98. { k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
  99. { k40, k41, k42, k43, k44, k45, k46, XXX, k48 }, \
  100. { k50, k51, XXX, k53, k54, k55, k56, k57, k58 }, \
  101. { k60, k61, k62, k63, k64, k65, k66, k67, k68 }, \
  102. { k70, k71, k72, k73, XXX, k75, k76, k77, XXX } \
  103. }
  104. /*
  105. *
  106. *
  107. *
  108. *
  109. *
  110. *
  111. *
  112. *
  113. *
  114. *
  115. *
  116. */
  117. #define LAYOUT_65_ansi_blocker_split_bs( \
  118. k00, k01, k02, k03, k04, k05, k06, k07, k08, k10, k11, k12, k13, k14, k15, k16, \
  119. k17, k18, k20, k21, k22, k23, k24, k25, k26, k27, k28, k30, k31, k32, k33, \
  120. k34, k35, k36, k37, k38, k40, k41, k42, k43, k44, k45, k46, k48, k50, \
  121. k51, k53, k54, k55, k56, k57, k58, k60, k61, k62, k63, k64, k65, k66, \
  122. k67, k68, k70, k71, k72, k73, k75, k76, k77 \
  123. ) { \
  124. { k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \
  125. { k10, k11, k12, k13, k14, k15, k16, k17, k18 }, \
  126. { k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \
  127. { k30, k31, k32, k33, k34, k35, k36, k37, k38 }, \
  128. { k40, k41, k42, k43, k44, k45, k46, XXX, k48 }, \
  129. { k50, k51, XXX, k53, k54, k55, k56, k57, k58 }, \
  130. { k60, k61, k62, k63, k64, k65, k66, k67, k68 }, \
  131. { k70, k71, k72, k73, XXX, k75, k76, k77, XXX } \
  132. }
  133. /*
  134. *
  135. *
  136. *
  137. *
  138. *
  139. *
  140. *
  141. *
  142. *
  143. *
  144. *
  145. */
  146. #define LAYOUT_65_iso( \
  147. k00, k01, k02, k03, k04, k05, k06, k07, k08, k10, k11, k12, k13, k15, k16, \
  148. k17, k18, k20, k21, k22, k23, k24, k25, k26, k27, k28, k30, k31, k33, \
  149. k34, k35, k36, k37, k38, k40, k41, k42, k43, k44, k45, k46, k47, k48, k50, \
  150. k51, k52, k53, k54, k55, k56, k57, k58, k60, k61, k62, k63, k64, k65, k66, \
  151. k67, k68, k70, k71, k72, k73, k74, k75, k76, k77 \
  152. ) { \
  153. { k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \
  154. { k10, k11, k12, k13, XXX, k15, k16, k17, k18 }, \
  155. { k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \
  156. { k30, k31, XXX, k33, k34, k35, k36, k37, k38 }, \
  157. { k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
  158. { k50, k51, k52, k53, k54, k55, k56, k57, k58 }, \
  159. { k60, k61, k62, k63, k64, k65, k66, k67, k68 }, \
  160. { k70, k71, k72, k73, k74, k75, k76, k77, XXX } \
  161. }
  162. /*
  163. *
  164. *
  165. *
  166. *
  167. *
  168. *
  169. *
  170. *
  171. *
  172. *
  173. *
  174. */
  175. #define LAYOUT_65_iso_blocker( \
  176. k00, k01, k02, k03, k04, k05, k06, k07, k08, k10, k11, k12, k13, k15, k16, \
  177. k17, k18, k20, k21, k22, k23, k24, k25, k26, k27, k28, k30, k31, k33, \
  178. k34, k35, k36, k37, k38, k40, k41, k42, k43, k44, k45, k46, k47, k48, k50, \
  179. k51, k52, k53, k54, k55, k56, k57, k58, k60, k61, k62, k63, k64, k65, k66, \
  180. k67, k68, k70, k71, k72, k73, k75, k76, k77 \
  181. ) { \
  182. { k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \
  183. { k10, k11, k12, k13, XXX, k15, k16, k17, k18 }, \
  184. { k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \
  185. { k30, k31, XXX, k33, k34, k35, k36, k37, k38 }, \
  186. { k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
  187. { k50, k51, k52, k53, k54, k55, k56, k57, k58 }, \
  188. { k60, k61, k62, k63, k64, k65, k66, k67, k68 }, \
  189. { k70, k71, k72, k73, XXX, k75, k76, k77, XXX } \
  190. }
  191. /*
  192. *
  193. *
  194. *
  195. *
  196. *
  197. *
  198. *
  199. *
  200. *
  201. *
  202. *
  203. */
  204. #define LAYOUT_65_iso_blocker_split_bs( \
  205. k00, k01, k02, k03, k04, k05, k06, k07, k08, k10, k11, k12, k13, k14, k15, k16, \
  206. k17, k18, k20, k21, k22, k23, k24, k25, k26, k27, k28, k30, k31, k33, \
  207. k34, k35, k36, k37, k38, k40, k41, k42, k43, k44, k45, k46, k47, k48, k50, \
  208. k51, k52, k53, k54, k55, k56, k57, k58, k60, k61, k62, k63, k64, k65, k66, \
  209. k67, k68, k70, k71, k72, k73, k75, k76, k77 \
  210. ) { \
  211. { k00, k01, k02, k03, k04, k05, k06, k07, k08 }, \
  212. { k10, k11, k12, k13, k14, k15, k16, k17, k18 }, \
  213. { k20, k21, k22, k23, k24, k25, k26, k27, k28 }, \
  214. { k30, k31, XXX, k33, k34, k35, k36, k37, k38 }, \
  215. { k40, k41, k42, k43, k44, k45, k46, k47, k48 }, \
  216. { k50, k51, k52, k53, k54, k55, k56, k57, k58 }, \
  217. { k60, k61, k62, k63, k64, k65, k66, k67, k68 }, \
  218. { k70, k71, k72, k73, XXX, k75, k76, k77, XXX } \
  219. }
  220. #define LAYOUT LAYOUT_all
  221. #define LAYOUT_aria LAYOUT_65_ansi_blocker
  222. #define LAYOUT_iso LAYOUT_65_iso
  223. #define LAYOUT_truefox LAYOUT_65_ansi_blocker_split_bs
  224. #define LAYOUT_vanilla LAYOUT_65_ansi