miryoku_layer_selection.h 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277
  1. // Copyright 2019 Manna Harbour
  2. // https://github.com/manna-harbour/miryoku
  3. // generated -*- buffer-read-only: t -*-
  4. // This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
  5. #pragma once
  6. #include "miryoku_layer_alternatives.h"
  7. #if !defined(MIRYOKU_LAYER_BASE)
  8. #if defined (MIRYOKU_LAYERS_FLIP)
  9. #if defined (MIRYOKU_ALPHAS_AZERTY)
  10. #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_AZERTY_FLIP
  11. #elif defined (MIRYOKU_ALPHAS_BEAKL15)
  12. #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_BEAKL15_FLIP
  13. #elif defined (MIRYOKU_ALPHAS_COLEMAK)
  14. #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAK_FLIP
  15. #elif defined (MIRYOKU_ALPHAS_COLEMAKDH)
  16. #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH_FLIP
  17. #elif defined (MIRYOKU_ALPHAS_COLEMAKDHK)
  18. #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAKDHK_FLIP
  19. #elif defined (MIRYOKU_ALPHAS_DVORAK)
  20. #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_DVORAK_FLIP
  21. #elif defined (MIRYOKU_ALPHAS_HALMAK)
  22. #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_HALMAK_FLIP
  23. #elif defined (MIRYOKU_ALPHAS_WORKMAN)
  24. #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_WORKMAN_FLIP
  25. #elif defined (MIRYOKU_ALPHAS_QWERTY)
  26. #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_QWERTY_FLIP
  27. #elif defined (MIRYOKU_ALPHAS_QWERTZ)
  28. #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_QWERTZ_FLIP
  29. #else
  30. #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH_FLIP
  31. #endif
  32. #else
  33. #if defined (MIRYOKU_ALPHAS_AZERTY)
  34. #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_AZERTY
  35. #elif defined (MIRYOKU_ALPHAS_BEAKL15)
  36. #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_BEAKL15
  37. #elif defined (MIRYOKU_ALPHAS_COLEMAK)
  38. #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAK
  39. #elif defined (MIRYOKU_ALPHAS_COLEMAKDH)
  40. #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH
  41. #elif defined (MIRYOKU_ALPHAS_COLEMAKDHK)
  42. #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAKDHK
  43. #elif defined (MIRYOKU_ALPHAS_DVORAK)
  44. #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_DVORAK
  45. #elif defined (MIRYOKU_ALPHAS_HALMAK)
  46. #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_HALMAK
  47. #elif defined (MIRYOKU_ALPHAS_WORKMAN)
  48. #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_WORKMAN
  49. #elif defined (MIRYOKU_ALPHAS_QWERTY)
  50. #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_QWERTY
  51. #elif defined (MIRYOKU_ALPHAS_QWERTZ)
  52. #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_QWERTZ
  53. #else
  54. #define MIRYOKU_LAYER_BASE MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH
  55. #endif
  56. #endif
  57. #endif
  58. #if !defined(MIRYOKU_LAYERMAPPING_BASE)
  59. #define MIRYOKU_LAYERMAPPING_BASE MIRYOKU_MAPPING
  60. #endif
  61. #if !defined(MIRYOKU_LAYER_EXTRA)
  62. #if defined (MIRYOKU_LAYERS_FLIP)
  63. #if defined (MIRYOKU_EXTRA_AZERTY)
  64. #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_AZERTY_FLIP
  65. #elif defined (MIRYOKU_EXTRA_BEAKL15)
  66. #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_BEAKL15_FLIP
  67. #elif defined (MIRYOKU_EXTRA_COLEMAK)
  68. #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_COLEMAK_FLIP
  69. #elif defined (MIRYOKU_EXTRA_COLEMAKDH)
  70. #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH_FLIP
  71. #elif defined (MIRYOKU_EXTRA_COLEMAKDHK)
  72. #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_COLEMAKDHK_FLIP
  73. #elif defined (MIRYOKU_EXTRA_DVORAK)
  74. #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_DVORAK_FLIP
  75. #elif defined (MIRYOKU_EXTRA_HALMAK)
  76. #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_HALMAK_FLIP
  77. #elif defined (MIRYOKU_EXTRA_WORKMAN)
  78. #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_WORKMAN_FLIP
  79. #elif defined (MIRYOKU_EXTRA_QWERTY)
  80. #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_QWERTY_FLIP
  81. #elif defined (MIRYOKU_EXTRA_QWERTZ)
  82. #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_QWERTZ_FLIP
  83. #else
  84. #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_QWERTY_FLIP
  85. #endif
  86. #else
  87. #if defined (MIRYOKU_EXTRA_AZERTY)
  88. #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_AZERTY
  89. #elif defined (MIRYOKU_EXTRA_BEAKL15)
  90. #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_BEAKL15
  91. #elif defined (MIRYOKU_EXTRA_COLEMAK)
  92. #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_COLEMAK
  93. #elif defined (MIRYOKU_EXTRA_COLEMAKDH)
  94. #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_COLEMAKDH
  95. #elif defined (MIRYOKU_EXTRA_COLEMAKDHK)
  96. #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_COLEMAKDHK
  97. #elif defined (MIRYOKU_EXTRA_DVORAK)
  98. #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_DVORAK
  99. #elif defined (MIRYOKU_EXTRA_HALMAK)
  100. #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_HALMAK
  101. #elif defined (MIRYOKU_EXTRA_WORKMAN)
  102. #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_WORKMAN
  103. #elif defined (MIRYOKU_EXTRA_QWERTY)
  104. #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_QWERTY
  105. #elif defined (MIRYOKU_EXTRA_QWERTZ)
  106. #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_QWERTZ
  107. #else
  108. #define MIRYOKU_LAYER_EXTRA MIRYOKU_ALTERNATIVES_BASE_QWERTY
  109. #endif
  110. #endif
  111. #endif
  112. #if !defined(MIRYOKU_LAYERMAPPING_EXTRA)
  113. #define MIRYOKU_LAYERMAPPING_EXTRA MIRYOKU_MAPPING
  114. #endif
  115. #if !defined(MIRYOKU_LAYER_TAP)
  116. #if defined (MIRYOKU_LAYERS_FLIP)
  117. #if defined (MIRYOKU_TAP_AZERTY)
  118. #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_AZERTY_FLIP
  119. #elif defined (MIRYOKU_TAP_BEAKL15)
  120. #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_BEAKL15_FLIP
  121. #elif defined (MIRYOKU_TAP_COLEMAK)
  122. #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_COLEMAK_FLIP
  123. #elif defined (MIRYOKU_TAP_COLEMAKDH)
  124. #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_COLEMAKDH_FLIP
  125. #elif defined (MIRYOKU_TAP_COLEMAKDHK)
  126. #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_COLEMAKDHK_FLIP
  127. #elif defined (MIRYOKU_TAP_DVORAK)
  128. #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_DVORAK_FLIP
  129. #elif defined (MIRYOKU_TAP_HALMAK)
  130. #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_HALMAK_FLIP
  131. #elif defined (MIRYOKU_TAP_WORKMAN)
  132. #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_WORKMAN_FLIP
  133. #elif defined (MIRYOKU_TAP_QWERTY)
  134. #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_QWERTY_FLIP
  135. #elif defined (MIRYOKU_TAP_QWERTZ)
  136. #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_QWERTZ_FLIP
  137. #else
  138. #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_COLEMAKDH_FLIP
  139. #endif
  140. #else
  141. #if defined (MIRYOKU_TAP_AZERTY)
  142. #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_AZERTY
  143. #elif defined (MIRYOKU_TAP_BEAKL15)
  144. #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_BEAKL15
  145. #elif defined (MIRYOKU_TAP_COLEMAK)
  146. #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_COLEMAK
  147. #elif defined (MIRYOKU_TAP_COLEMAKDH)
  148. #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_COLEMAKDH
  149. #elif defined (MIRYOKU_TAP_COLEMAKDHK)
  150. #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_COLEMAKDHK
  151. #elif defined (MIRYOKU_TAP_DVORAK)
  152. #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_DVORAK
  153. #elif defined (MIRYOKU_TAP_HALMAK)
  154. #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_HALMAK
  155. #elif defined (MIRYOKU_TAP_WORKMAN)
  156. #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_WORKMAN
  157. #elif defined (MIRYOKU_TAP_QWERTY)
  158. #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_QWERTY
  159. #elif defined (MIRYOKU_TAP_QWERTZ)
  160. #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_QWERTZ
  161. #else
  162. #define MIRYOKU_LAYER_TAP MIRYOKU_ALTERNATIVES_TAP_COLEMAKDH
  163. #endif
  164. #endif
  165. #endif
  166. #if !defined(MIRYOKU_LAYERMAPPING_TAP)
  167. #define MIRYOKU_LAYERMAPPING_TAP MIRYOKU_MAPPING
  168. #endif
  169. #if !defined(MIRYOKU_LAYER_BUTTON)
  170. #define MIRYOKU_LAYER_BUTTON MIRYOKU_ALTERNATIVES_BUTTON
  171. #endif
  172. #if !defined(MIRYOKU_LAYERMAPPING_BUTTON)
  173. #define MIRYOKU_LAYERMAPPING_BUTTON MIRYOKU_MAPPING
  174. #endif
  175. #if !defined(MIRYOKU_LAYER_NAV)
  176. #if defined (MIRYOKU_LAYERS_FLIP)
  177. #if defined (MIRYOKU_NAV_INVERTEDT)
  178. #define MIRYOKU_LAYER_NAV MIRYOKU_ALTERNATIVES_NAV_INVERTEDT_FLIP
  179. #else
  180. #define MIRYOKU_LAYER_NAV MIRYOKU_ALTERNATIVES_NAV_FLIP
  181. #endif
  182. #else
  183. #if defined (MIRYOKU_NAV_INVERTEDT)
  184. #define MIRYOKU_LAYER_NAV MIRYOKU_ALTERNATIVES_NAV_INVERTEDT
  185. #elif defined (MIRYOKU_NAV_VI)
  186. #define MIRYOKU_LAYER_NAV MIRYOKU_ALTERNATIVES_NAV_VI
  187. #else
  188. #define MIRYOKU_LAYER_NAV MIRYOKU_ALTERNATIVES_NAV
  189. #endif
  190. #endif
  191. #endif
  192. #if !defined(MIRYOKU_LAYERMAPPING_NAV)
  193. #define MIRYOKU_LAYERMAPPING_NAV MIRYOKU_MAPPING
  194. #endif
  195. #if !defined(MIRYOKU_LAYER_MOUSE)
  196. #if defined (MIRYOKU_LAYERS_FLIP)
  197. #if defined (MIRYOKU_NAV_INVERTEDT)
  198. #define MIRYOKU_LAYER_MOUSE MIRYOKU_ALTERNATIVES_MOUSE_INVERTEDT_FLIP
  199. #else
  200. #define MIRYOKU_LAYER_MOUSE MIRYOKU_ALTERNATIVES_MOUSE_FLIP
  201. #endif
  202. #else
  203. #if defined (MIRYOKU_NAV_INVERTEDT)
  204. #define MIRYOKU_LAYER_MOUSE MIRYOKU_ALTERNATIVES_MOUSE_INVERTEDT
  205. #elif defined (MIRYOKU_NAV_VI)
  206. #define MIRYOKU_LAYER_MOUSE MIRYOKU_ALTERNATIVES_MOUSE_VI
  207. #else
  208. #define MIRYOKU_LAYER_MOUSE MIRYOKU_ALTERNATIVES_MOUSE
  209. #endif
  210. #endif
  211. #endif
  212. #if !defined(MIRYOKU_LAYERMAPPING_MOUSE)
  213. #define MIRYOKU_LAYERMAPPING_MOUSE MIRYOKU_MAPPING
  214. #endif
  215. #if !defined(MIRYOKU_LAYER_MEDIA)
  216. #if defined (MIRYOKU_LAYERS_FLIP)
  217. #if defined (MIRYOKU_NAV_INVERTEDT)
  218. #define MIRYOKU_LAYER_MEDIA MIRYOKU_ALTERNATIVES_MEDIA_INVERTEDT_FLIP
  219. #else
  220. #define MIRYOKU_LAYER_MEDIA MIRYOKU_ALTERNATIVES_MEDIA_FLIP
  221. #endif
  222. #else
  223. #if defined (MIRYOKU_NAV_INVERTEDT)
  224. #define MIRYOKU_LAYER_MEDIA MIRYOKU_ALTERNATIVES_MEDIA_INVERTEDT
  225. #elif defined (MIRYOKU_NAV_VI)
  226. #define MIRYOKU_LAYER_MEDIA MIRYOKU_ALTERNATIVES_MEDIA_VI
  227. #else
  228. #define MIRYOKU_LAYER_MEDIA MIRYOKU_ALTERNATIVES_MEDIA
  229. #endif
  230. #endif
  231. #endif
  232. #if !defined(MIRYOKU_LAYERMAPPING_MEDIA)
  233. #define MIRYOKU_LAYERMAPPING_MEDIA MIRYOKU_MAPPING
  234. #endif
  235. #if !defined(MIRYOKU_LAYER_NUM)
  236. #if defined (MIRYOKU_LAYERS_FLIP)
  237. #define MIRYOKU_LAYER_NUM MIRYOKU_ALTERNATIVES_NUM_FLIP
  238. #else
  239. #define MIRYOKU_LAYER_NUM MIRYOKU_ALTERNATIVES_NUM
  240. #endif
  241. #endif
  242. #if !defined(MIRYOKU_LAYERMAPPING_NUM)
  243. #define MIRYOKU_LAYERMAPPING_NUM MIRYOKU_MAPPING
  244. #endif
  245. #if !defined(MIRYOKU_LAYER_SYM)
  246. #if defined (MIRYOKU_LAYERS_FLIP)
  247. #define MIRYOKU_LAYER_SYM MIRYOKU_ALTERNATIVES_SYM_FLIP
  248. #else
  249. #define MIRYOKU_LAYER_SYM MIRYOKU_ALTERNATIVES_SYM
  250. #endif
  251. #endif
  252. #if !defined(MIRYOKU_LAYERMAPPING_SYM)
  253. #define MIRYOKU_LAYERMAPPING_SYM MIRYOKU_MAPPING
  254. #endif
  255. #if !defined(MIRYOKU_LAYER_FUN)
  256. #if defined (MIRYOKU_LAYERS_FLIP)
  257. #define MIRYOKU_LAYER_FUN MIRYOKU_ALTERNATIVES_FUN_FLIP
  258. #else
  259. #define MIRYOKU_LAYER_FUN MIRYOKU_ALTERNATIVES_FUN
  260. #endif
  261. #endif
  262. #if !defined(MIRYOKU_LAYERMAPPING_FUN)
  263. #define MIRYOKU_LAYERMAPPING_FUN MIRYOKU_MAPPING
  264. #endif