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.

175 lines
11 KiB

  1. /* Copyright 2020 Croktopus
  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. #define LAYOUT_all( \
  20. K000, K010, K001, K011, K002, K012, K003, K013, K004, K014, K005, K015, K006, K016, K017, K008, K018, \
  21. K020, K030, K021, K031, K022, K032, K023, K033, K024, K034, K025, K035, K026, K036, K027, K037, K028, K038, \
  22. K040, K050, K041, K051, K042, K052, K043, K053, K044, K054, K045, K055, K046, K056, K047, K048, K058, \
  23. K060, K070, K061, K071, K062, K072, K063, K073, K064, K074, K065, K075, K066, K076, K067, K068, K078, \
  24. K080, K090, K081, K091, K082, K092, K083, K093, K084, K094, K085, K095, K086, K096, K087, K097, K088, K098, \
  25. K100, K110, K101, K111, K113, K105, K115, K106, K116, K107, K117, K108, K118 \
  26. ) { \
  27. { K000, K001, K002, K003, K004, K005, K006, ____, K008 }, \
  28. { K010, K011, K012, K013, K014, K015, K016, K017, K018 }, \
  29. { K020, K021, K022, K023, K024, K025, K026, K027, K028 }, \
  30. { K030, K031, K032, K033, K034, K035, K036, K037, K038 }, \
  31. { K040, K041, K042, K043, K044, K045, K046, K047, K048 }, \
  32. { K050, K051, K052, K053, K054, K055, K056, ____, K058 }, \
  33. { K060, K061, K062, K063, K064, K065, K066, K067, K068 }, \
  34. { K070, K071, K072, K073, K074, K075, K076, ____, K078 }, \
  35. { K080, K081, K082, K083, K084, K085, K086, K087, K088 }, \
  36. { K090, K091, K092, K093, K094, K095, K096, K097, K098 }, \
  37. { K100, K101, ____, ____, ____, K105, K106, K107, K108 }, \
  38. { K110, K111, ____, K113, ____, K115, K116, K117, K118 } \
  39. }
  40. #define LAYOUT_prime_ansi( \
  41. K000, K010, K001, K011, K002, K012, K003, K013, K004, K014, K005, K015, K006, K016, K017, K008, K018, \
  42. K020, K030, K021, K031, K022, K032, K023, K033, K024, K034, K025, K035, K026, K036, K027, K037, K028, K038, \
  43. K040, K050, K041, K051, K042, K052, K043, K053, K044, K054, K045, K055, K046, K056, K047, K048, K058, \
  44. K060, K070, K061, K071, K062, K072, K063, K073, K064, K074, K065, K075, K066, K067, K068, K078, \
  45. K080, K090, K091, K082, K092, K083, K093, K084, K094, K085, K095, K086, K096, K087, K088, K098, \
  46. K100, K110, K101, K111, K113, K105, K115, K106, K107, K117, K108 \
  47. ) { \
  48. { K000, K001, K002, K003, K004, K005, K006, ____, K008 }, \
  49. { K010, K011, K012, K013, K014, K015, K016, K017, K018 }, \
  50. { K020, K021, K022, K023, K024, K025, K026, K027, K028 }, \
  51. { K030, K031, K032, K033, K034, K035, K036, K037, K038 }, \
  52. { K040, K041, K042, K043, K044, K045, K046, K047, K048 }, \
  53. { K050, K051, K052, K053, K054, K055, K056, ____, K058 }, \
  54. { K060, K061, K062, K063, K064, K065, K066, K067, K068 }, \
  55. { K070, K071, K072, K073, K074, K075, ____, ____, K078 }, \
  56. { K080, ____, K082, K083, K084, K085, K086, K087, K088 }, \
  57. { K090, K091, K092, K093, K094, K095, K096, ____, K098 }, \
  58. { K100, K101, ____, ____, ____, K105, K106, K107, K108 }, \
  59. { K110, K111, ____, K113, ____, K115, ____, K117, ____ } \
  60. }
  61. #define LAYOUT_prime_iso( \
  62. K000, K010, K001, K011, K002, K012, K003, K013, K004, K014, K005, K015, K006, K016, K017, K008, K018, \
  63. K020, K030, K021, K031, K022, K032, K023, K033, K024, K034, K025, K035, K026, K036, K027, K037, K028, K038, \
  64. K040, K050, K041, K051, K042, K052, K043, K053, K044, K054, K045, K055, K046, K056, K048, K058, \
  65. K060, K070, K061, K071, K062, K072, K063, K073, K064, K074, K065, K075, K066, K076, K067, K068, K078, \
  66. K080, K090, K081, K091, K082, K092, K083, K093, K084, K094, K085, K095, K086, K096, K087, K097, K098, \
  67. K100, K110, K101, K111, K113, K105, K115, K106, K107, K117, K108 \
  68. ) { \
  69. { K000, K001, K002, K003, K004, K005, K006, ____, K008 }, \
  70. { K010, K011, K012, K013, K014, K015, K016, K017, K018 }, \
  71. { K020, K021, K022, K023, K024, K025, K026, K027, K028 }, \
  72. { K030, K031, K032, K033, K034, K035, K036, K037, K038 }, \
  73. { K040, K041, K042, K043, K044, K045, K046, ____, K048 }, \
  74. { K050, K051, K052, K053, K054, K055, K056, ____, K058 }, \
  75. { K060, K061, K062, K063, K064, K065, K066, K067, K068 }, \
  76. { K070, K071, K072, K073, K074, K075, K076, ____, K078 }, \
  77. { K080, K081, K082, K083, K084, K085, K086, K087, ____ }, \
  78. { K090, K091, K092, K093, K094, K095, K096, K097, K098 }, \
  79. { K100, K101, ____, ____, ____, K105, K106, K107, K108 }, \
  80. { K110, K111, ____, K113, ____, K115, ____, K117, ____ } \
  81. }
  82. #define LAYOUT_b_ansi( \
  83. K000, K010, K001, K011, K002, K012, K003, K013, K004, K014, K005, K015, K006, K016, K017, K008, K018, \
  84. K020, K030, K021, K031, K022, K032, K023, K033, K024, K034, K025, K035, K026, K036, K027, K037, K028, K038, \
  85. K040, K050, K041, K051, K042, K052, K043, K053, K044, K054, K045, K055, K046, K056, K047, K048, K058, \
  86. K060, K070, K061, K071, K062, K072, K063, K073, K064, K074, K065, K075, K066, K067, K068, K078, \
  87. K080, K090, K091, K082, K092, K083, K093, K084, K094, K085, K095, K086, K096, K087, K088, K098, \
  88. K100, K110, K101, K111, K113, K105, K115, K106, K107, K117, K108 \
  89. ) { \
  90. { K000, K001, K002, K003, K004, K005, K006, ____, K008 }, \
  91. { K010, K011, K012, K013, K014, K015, K016, K017, K018 }, \
  92. { K020, K021, K022, K023, K024, K025, K026, K027, K028 }, \
  93. { K030, K031, K032, K033, K034, K035, K036, K037, K038 }, \
  94. { K040, K041, K042, K043, K044, K045, K046, K047, K048 }, \
  95. { K050, K051, K052, K053, K054, K055, K056, ____, K058 }, \
  96. { K060, K061, K062, K063, K064, K065, K066, K067, K068 }, \
  97. { K070, K071, K072, K073, K074, K075, ____, ____, K078 }, \
  98. { K080, ____, K082, K083, K084, K085, K086, K087, K088 }, \
  99. { K090, K091, K092, K093, K094, K095, K096, ____, K098 }, \
  100. { K100, K101, ____, ____, ____, K105, K106, K107, K108 }, \
  101. { K110, K111, ____, K113, ____, K115, ____, K117, ____ } \
  102. }
  103. #define LAYOUT_b_iso( \
  104. K000, K010, K001, K011, K002, K012, K003, K013, K004, K014, K005, K015, K006, K016, K017, K008, K018, \
  105. K020, K030, K021, K031, K022, K032, K023, K033, K024, K034, K025, K035, K026, K036, K027, K037, K028, K038, \
  106. K040, K050, K041, K051, K042, K052, K043, K053, K044, K054, K045, K055, K046, K056, K048, K058, \
  107. K060, K070, K061, K071, K062, K072, K063, K073, K064, K074, K065, K075, K066, K076, K067, K068, K078, \
  108. K080, K090, K081, K091, K082, K092, K083, K093, K084, K094, K085, K095, K086, K096, K087, K097, K098, \
  109. K100, K110, K101, K111, K113, K105, K115, K106, K107, K117, K108 \
  110. ) { \
  111. { K000, K001, K002, K003, K004, K005, K006, ____, K008 }, \
  112. { K010, K011, K012, K013, K014, K015, K016, K017, K018 }, \
  113. { K020, K021, K022, K023, K024, K025, K026, K027, K028 }, \
  114. { K030, K031, K032, K033, K034, K035, K036, K037, K038 }, \
  115. { K040, K041, K042, K043, K044, K045, K046, ____, K048 }, \
  116. { K050, K051, K052, K053, K054, K055, K056, ____, K058 }, \
  117. { K060, K061, K062, K063, K064, K065, K066, K067, K068 }, \
  118. { K070, K071, K072, K073, K074, K075, K076, ____, K078 }, \
  119. { K080, K081, K082, K083, K084, K085, K086, K087, ____ }, \
  120. { K090, K091, K092, K093, K094, K095, K096, K097, K098 }, \
  121. { K100, K101, ____, ____, ____, K105, K106, K107, K108 }, \
  122. { K110, K111, ____, K113, ____, K115, ____, K117, ____ } \
  123. }
  124. #define LAYOUT_a_ansi( \
  125. K000, K010, K001, K011, K002, K012, K003, K013, K004, K014, K005, K015, K006, K016, K017, K008, K018, \
  126. K020, K030, K021, K031, K022, K032, K023, K033, K024, K034, K025, K035, K026, K036, K027, K037, K028, K038, \
  127. K040, K050, K041, K051, K042, K052, K043, K053, K044, K054, K045, K055, K046, K056, K047, K048, K058, \
  128. K060, K070, K061, K071, K062, K072, K063, K073, K064, K074, K065, K075, K066, K067, K068, \
  129. K080, K090, K091, K082, K092, K083, K093, K084, K094, K085, K095, K086, K096, K097, K098, \
  130. K100, K110, K101, K111, K113, K105, K115, K116, K107, K117, K118 \
  131. ) { \
  132. { K000, K001, K002, K003, K004, K005, K006, ____, K008 }, \
  133. { K010, K011, K012, K013, K014, K015, K016, K017, K018 }, \
  134. { K020, K021, K022, K023, K024, K025, K026, K027, K028 }, \
  135. { K030, K031, K032, K033, K034, K035, K036, K037, K038 }, \
  136. { K040, K041, K042, K043, K044, K045, K046, K047, K048 }, \
  137. { K050, K051, K052, K053, K054, K055, K056, ____, K058 }, \
  138. { K060, K061, K062, K063, K064, K065, K066, K067, K068 }, \
  139. { K070, K071, K072, K073, K074, K075, ____, ____, ____ }, \
  140. { K080, ____, K082, K083, K084, K085, K086, ____, ____ }, \
  141. { K090, K091, K092, K093, K094, K095, K096, K097, K098 }, \
  142. { K100, K101, ____, ____, ____, K105, ____, K107, ____ }, \
  143. { K110, K111, ____, K113, ____, K115, K116, K117, K118 } \
  144. }
  145. #define LAYOUT_a_iso( \
  146. K000, K010, K001, K011, K002, K012, K003, K013, K004, K014, K005, K015, K006, K016, K017, K008, K018, \
  147. K020, K030, K021, K031, K022, K032, K023, K033, K024, K034, K025, K035, K026, K036, K027, K037, K028, K038, \
  148. K040, K050, K041, K051, K042, K052, K043, K053, K044, K054, K045, K055, K046, K056, K048, K058, \
  149. K060, K070, K061, K071, K062, K072, K063, K073, K064, K074, K065, K075, K066, K076, K067, K068, \
  150. K080, K090, K081, K091, K082, K092, K083, K093, K084, K094, K085, K095, K086, K096, K097, K098, \
  151. K100, K110, K101, K111, K113, K105, K115, K116, K107, K117, K118 \
  152. ) { \
  153. { K000, K001, K002, K003, K004, K005, K006, ____, K008 }, \
  154. { K010, K011, K012, K013, K014, K015, K016, K017, K018 }, \
  155. { K020, K021, K022, K023, K024, K025, K026, K027, K028 }, \
  156. { K030, K031, K032, K033, K034, K035, K036, K037, K038 }, \
  157. { K040, K041, K042, K043, K044, K045, K046, ____, K048 }, \
  158. { K050, K051, K052, K053, K054, K055, K056, ____, K058 }, \
  159. { K060, K061, K062, K063, K064, K065, K066, K067, K068 }, \
  160. { K070, K071, K072, K073, K074, K075, K076, ____, ____ }, \
  161. { K080, K081, K082, K083, K084, K085, K086, ____, ____ }, \
  162. { K090, K091, K092, K093, K094, K095, K096, K097, K098 }, \
  163. { K100, K101, ____, ____, ____, K105, ____, K107, ____ }, \
  164. { K110, K111, ____, K113, ____, K115, K116, K117, K118 } \
  165. }