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.

184 lines
9.6 KiB

  1. #pragma once
  2. #include "quefrency.h"
  3. #include "quantum.h"
  4. #define LAYOUT_60( \
  5. LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, \
  6. LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, \
  7. LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC8, \
  8. LD3, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, \
  9. LE3, LE4, LE5, LE6, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8 \
  10. ) \
  11. { \
  12. { KC_NO, KC_NO, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \
  13. { KC_NO, KC_NO, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \
  14. { KC_NO, KC_NO, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \
  15. { KC_NO, KC_NO, LD3, KC_NO, LD5, LD6, LD7, LD8, LD9 }, \
  16. { KC_NO, KC_NO, LE3, LE4, LE5, LE6, KC_NO, LE8, KC_NO }, \
  17. { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, KC_NO }, \
  18. { RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, KC_NO }, \
  19. { RC1, RC2, RC3, RC4, RC5, RC6, KC_NO, RC8, KC_NO }, \
  20. { RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, KC_NO }, \
  21. { RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, KC_NO } \
  22. }
  23. #define LAYOUT_65( \
  24. LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, \
  25. LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9, \
  26. LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC8, RC9, \
  27. LD3, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, RD9, \
  28. LE3, LE4, LE5, LE6, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8, RE9 \
  29. ) \
  30. { \
  31. { KC_NO, KC_NO, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \
  32. { KC_NO, KC_NO, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \
  33. { KC_NO, KC_NO, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \
  34. { KC_NO, KC_NO, LD3, KC_NO, LD5, LD6, LD7, LD8, LD9 }, \
  35. { KC_NO, KC_NO, LE3, LE4, LE5, LE6, KC_NO, LE8, KC_NO }, \
  36. { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9 }, \
  37. { RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9 }, \
  38. { RC1, RC2, RC3, RC4, RC5, RC6, KC_NO, RC8, RC9 }, \
  39. { RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, RD9 }, \
  40. { RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, RE9 } \
  41. }
  42. #define LAYOUT_60_with_macro( \
  43. LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, \
  44. LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, \
  45. LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC8, \
  46. LD1, LD2, LD3, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, \
  47. LE1, LE2, LE3, LE4, LE5, LE6, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8 \
  48. ) \
  49. { \
  50. { LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \
  51. { LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \
  52. { LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \
  53. { LD1, LD2, LD3, KC_NO, LD5, LD6, LD7, LD8, LD9 }, \
  54. { LE1, LE2, LE3, LE4, LE5, LE6, KC_NO, LE8, KC_NO }, \
  55. { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, KC_NO }, \
  56. { RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, KC_NO }, \
  57. { RC1, RC2, RC3, RC4, RC5, RC6, KC_NO, RC8, KC_NO }, \
  58. { RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, KC_NO }, \
  59. { RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, KC_NO } \
  60. }
  61. #define LAYOUT_65_with_macro( \
  62. LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, \
  63. LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9, \
  64. LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC8, RC9, \
  65. LD1, LD2, LD3, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, RD9, \
  66. LE1, LE2, LE3, LE4, LE5, LE6, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8, RE9 \
  67. ) \
  68. { \
  69. { LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \
  70. { LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \
  71. { LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \
  72. { LD1, LD2, LD3, KC_NO, LD5, LD6, LD7, LD8, LD9 }, \
  73. { LE1, LE2, LE3, LE4, LE5, LE6, KC_NO, LE8, KC_NO }, \
  74. { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9 }, \
  75. { RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9 }, \
  76. { RC1, RC2, RC3, RC4, RC5, RC6, KC_NO, RC8, RC9 }, \
  77. { RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, RD9 }, \
  78. { RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, RE9 } \
  79. }
  80. #define LAYOUT_60_iso( \
  81. LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, \
  82. LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, \
  83. LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, \
  84. LD3, LD4, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, \
  85. LE3, LE4, LE5, LE6, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8 \
  86. ) \
  87. { \
  88. { KC_NO, KC_NO, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \
  89. { KC_NO, KC_NO, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \
  90. { KC_NO, KC_NO, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \
  91. { KC_NO, KC_NO, LD3, LD4, LD5, LD6, LD7, LD8, LD9 }, \
  92. { KC_NO, KC_NO, LE3, LE4, LE5, LE6, KC_NO, LE8, KC_NO }, \
  93. { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, KC_NO }, \
  94. { RB1, RB2, RB3, RB4, RB5, RB6, RB7, KC_NO, KC_NO }, \
  95. { RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, KC_NO }, \
  96. { RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, KC_NO }, \
  97. { RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, KC_NO } \
  98. }
  99. #define LAYOUT_65_iso( \
  100. LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, \
  101. LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB9, \
  102. LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, RC9, \
  103. LD3, LD4, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, RD9, \
  104. LE3, LE4, LE5, LE6, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8, RE9 \
  105. ) \
  106. { \
  107. { KC_NO, KC_NO, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \
  108. { KC_NO, KC_NO, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \
  109. { KC_NO, KC_NO, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \
  110. { KC_NO, KC_NO, LD3, LD4, LD5, LD6, LD7, LD8, LD9 }, \
  111. { KC_NO, KC_NO, LE3, LE4, LE5, LE6, KC_NO, LE8, KC_NO }, \
  112. { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9 }, \
  113. { RB1, RB2, RB3, RB4, RB5, RB6, RB7, KC_NO, RB9 }, \
  114. { RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, RC9 }, \
  115. { RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, RD9 }, \
  116. { RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, RE9 } \
  117. }
  118. #define LAYOUT_60_iso_with_macro( \
  119. LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, \
  120. LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, \
  121. LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, \
  122. LD1, LD2, LD3, LD4, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, \
  123. LE1, LE2, LE3, LE4, LE5, LE6, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8 \
  124. ) \
  125. { \
  126. { LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \
  127. { LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \
  128. { LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \
  129. { LD1, LD2, LD3, LD4, LD5, LD6, LD7, LD8, LD9 }, \
  130. { LE1, LE2, LE3, LE4, LE5, LE6, KC_NO, LE8, KC_NO }, \
  131. { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, KC_NO }, \
  132. { RB1, RB2, RB3, RB4, RB5, RB6, RB7, KC_NO, KC_NO }, \
  133. { RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, KC_NO }, \
  134. { RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, KC_NO }, \
  135. { RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, KC_NO } \
  136. }
  137. #define LAYOUT_65_iso_with_macro( \
  138. LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, \
  139. LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB9, \
  140. LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, RC9, \
  141. LD1, LD2, LD3, LD4, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, RD9, \
  142. LE1, LE2, LE3, LE4, LE5, LE6, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8, RE9 \
  143. ) \
  144. { \
  145. { LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \
  146. { LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \
  147. { LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \
  148. { LD1, LD2, LD3, LD4, LD5, LD6, LD7, LD8, LD9 }, \
  149. { LE1, LE2, LE3, LE4, LE5, LE6, KC_NO, LE8, KC_NO }, \
  150. { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9 }, \
  151. { RB1, RB2, RB3, RB4, RB5, RB6, RB7, KC_NO, RB9 }, \
  152. { RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, RC9 }, \
  153. { RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, RD9 }, \
  154. { RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, RE9 } \
  155. }
  156. #define LAYOUT_all( \
  157. LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, \
  158. LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9, \
  159. LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, RC9, \
  160. LD1, LD2, LD3, LD4, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, RD9, \
  161. LE1, LE2, LE3, LE4, LE5, LE6, LE7, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8, RE9 \
  162. ) \
  163. { \
  164. { LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \
  165. { LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \
  166. { LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \
  167. { LD1, LD2, LD3, LD4, LD5, LD6, LD7, LD8, LD9 }, \
  168. { LE1, LE2, LE3, LE4, LE5, LE6, LE7, LE8, KC_NO }, \
  169. { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9 }, \
  170. { RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9 }, \
  171. { RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, RC9 }, \
  172. { RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, RD9 }, \
  173. { RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, RE9 } \
  174. }