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.

212 lines
14 KiB

  1. #pragma once
  2. #include "kuchosauronad0.h"
  3. /*
  4. Since our quirky block definitions are basically a list of comma separated
  5. arguments, we need a wrapper in order for these definitions to be
  6. expanded before being used as arguments to the LAYOUT_xxx macro.
  7. */
  8. #if (!defined(LAYOUT) && defined(KEYMAP))
  9. # define LAYOUT KEYMAP
  10. #endif
  11. #define LAYOUT_ergodox_wrapper(...) LAYOUT_ergodox(__VA_ARGS__)
  12. #define LAYOUT_ergodox_pretty_wrapper(...) LAYOUT_ergodox_pretty(__VA_ARGS__)
  13. #define KEYMAP_wrapper(...) LAYOUT(__VA_ARGS__)
  14. #define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
  15. #define LAYOUT_ortho_4x12_wrapper(...) LAYOUT_ortho_4x12(__VA_ARGS__)
  16. #define LAYOUT_ortho_5x12_wrapper(...) LAYOUT_ortho_5x12(__VA_ARGS__)
  17. #define LAYOUT_collide39_base_wrapper(...) LAYOUT_collide39_base(__VA_ARGS__)
  18. /*
  19. Blocks for each of the four major keyboard layouts
  20. Organized so we can quickly adapt and modify all of them
  21. at once, rather than for each keyboard, one at a time.
  22. And this allows for much cleaner blocks in the keymaps.
  23. For instance Tap/Hold for Control on all of the layouts
  24. NOTE: These are all the same length. If you do a search/replace
  25. then you need to add/remove underscores to keep the
  26. lengths consistent.
  27. */
  28. #define ___________________BLANK___________________ _______, _______, _______, _______, _______
  29. #ifdef TAP_DANCE_ENABLE
  30. # define _________________QWERTY_L1_________________ KC_Q, KC_DW, KC_EOL, KC_R, KC_TMX
  31. # define _________________QWERTY_L2_________________ KC_BOL, KC_S, KC_D, KC_NW, KC_G
  32. # define _________________QWERTY_L3_________________ KC_Z, KC_X, KC_C, KC_V, KC_PW
  33. #else
  34. # define _________________QWERTY_L1_________________ KC_Q, KC_W, KC_E, KC_R, KC_T
  35. # define _________________QWERTY_L2_________________ KC_A, KC_S, KC_D, KC_F, KC_G
  36. # define _________________QWERTY_L3_________________ KC_Z, KC_X, KC_C, KC_V, KC_B
  37. #endif
  38. #define _________________QWERTY_R1_________________ KC_Y, KC_U, KC_I, KC_O, KC_P
  39. #define _________________QWERTY_R2_________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN
  40. #define _________________QWERTY_R3_________________ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLASH
  41. #define _________________PLOVER_L1_________________ KC_Q, KC_W, KC_E, KC_R, KC_T
  42. #define _________________PLOVER_L2_________________ KC_A, KC_S, KC_D, KC_F, KC_G
  43. #define _________________PLOVER_L3_________________ KC_NO, KC_NO, KC_C, KC_V, KC_NO
  44. #define _________________PLOVER_R1_________________ KC_Y, KC_U, KC_I, KC_O, KC_P
  45. #define _________________PLOVER_R2_________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN
  46. #define _________________PLOVER_R3_________________ KC_NO, KC_NO, KC_N, KC_M, KC_NO
  47. #define _________________COLEMAK_L1________________ KC_Q, KC_W, KC_F, KC_P, KC_G
  48. #define _________________COLEMAK_L2________________ KC_A, KC_R, KC_S, KC_T, KC_D
  49. #define _________________COLEMAK_L3________________ KC_Z, KC_X, KC_C, KC_V, KC_B
  50. #define _________________COLEMAK_R1________________ KC_J, KC_L, KC_U, KC_Y, KC_SCLN
  51. #define _________________COLEMAK_R2________________ KC_H, KC_N, KC_E, KC_I, KC_O
  52. #define _________________COLEMAK_R3________________ KC_K, KC_M, KC_COMM, KC_DOT, KC_SLASH
  53. #define ______________COLEMAK_MOD_DH_L1____________ KC_Q, KC_W, KC_F, KC_P, KC_B
  54. #define ______________COLEMAK_MOD_DH_L2____________ KC_A, KC_R, KC_S, KC_T, KC_G
  55. #define ______________COLEMAK_MOD_DH_L3____________ KC_Z, KC_X, KC_C, KC_D, KC_V
  56. #define ______________COLEMAK_MOD_DH_R1____________ KC_J, KC_L, KC_U, KC_Y, KC_SCLN
  57. #define ______________COLEMAK_MOD_DH_R2____________ KC_M, KC_N, KC_E, KC_I, KC_O
  58. #define ______________COLEMAK_MOD_DH_R3____________ KC_K, KC_H, KC_COMM, KC_DOT, KC_SLASH
  59. #define _________________DVORAK_L1_________________ KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y
  60. #define _________________DVORAK_L2_________________ KC_A, KC_O, KC_E, KC_U, KC_I
  61. #define _________________DVORAK_L3_________________ KC_SCLN, KC_Q, KC_J, KC_K, KC_X
  62. #define _________________DVORAK_R1_________________ KC_F, KC_G, KC_C, KC_R, KC_L
  63. #define _________________DVORAK_R2_________________ KC_D, KC_H, KC_T, KC_N, KC_S
  64. #define _________________DVORAK_R3_________________ KC_B, KC_M, KC_W, KC_V, KC_Z
  65. #define ________________DVORAK_AU_L1_______________ KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y
  66. #define ________________DVORAK_AU_L2_______________ KC_O, KC_A, KC_E, KC_I, KC_U
  67. #define ________________DVORAK_AU_L3_______________ KC_SCLN, KC_Q, KC_J, KC_K, KC_X
  68. #define ________________DVORAK_AU_R1_______________ KC_F, KC_G, KC_C, KC_R, KC_L
  69. #define ________________DVORAK_AU_R2_______________ KC_D, KC_H, KC_T, KC_N, KC_S
  70. #define ________________DVORAK_AU_R3_______________ KC_B, KC_M, KC_W, KC_V, KC_Z
  71. #define _________________WORKMAN_L1________________ KC_Q, KC_D, KC_R, KC_W, KC_B
  72. #define _________________WORKMAN_L2________________ KC_A, KC_S, KC_H, KC_T, KC_G
  73. #define _________________WORKMAN_L3________________ KC_Z, KC_X, KC_M, KC_C, KC_V
  74. #define _________________WORKMAN_R1________________ KC_J, KC_F, KC_U, KC_P, KC_SCLN
  75. #define _________________WORKMAN_R2________________ KC_Y, KC_N, KC_E, KC_O, KC_I
  76. #define _________________WORKMAN_R3________________ KC_K, KC_L, KC_COMM, KC_DOT, KC_SLASH
  77. #define _________________NORMAN_L1_________________ KC_Q, KC_W, KC_D, KC_F, KC_K
  78. #define _________________NORMAN_L2_________________ KC_A, KC_S, KC_E, KC_T, KC_G
  79. #define _________________NORMAN_L3_________________ KC_Z, KC_X, KC_C, KC_V, KC_B
  80. #define _________________NORMAN_R1_________________ KC_J, KC_U, KC_R, KC_L, KC_SCLN
  81. #define _________________NORMAN_R2_________________ KC_Y, KC_N, KC_I, KC_O, KC_U
  82. #define _________________NORMAN_R3_________________ KC_P, KC_M, KC_COMM, KC_DOT, KC_SLASH
  83. #define _________________MALTRON_L1________________ KC_Q, KC_P, KC_Y, KC_C, KC_B
  84. #define _________________MALTRON_L2________________ KC_A, KC_N, KC_I, KC_S, KC_F
  85. #define _________________MALTRON_L3________________ KC_SCLN, KC_SLSH, KC_J, KC_G, KC_COMM
  86. #define _________________MALTRON_R1________________ KC_V, KC_M, KC_U, KC_Z, KC_L
  87. #define _________________MALTRON_R2________________ KC_D, KC_T, KC_D, KC_O, KC_R
  88. #define _________________MALTRON_R3________________ KC_DOT, KC_W, KC_K, KC_MINS, KC_X
  89. #define _________________EUCALYN_L1________________ KC_SLSH, KC_COMM, KC_DOT, KC_F, KC_Q
  90. #define _________________EUCALYN_L2________________ KC_A, KC_O, KC_E, KC_I, KC_U
  91. #define _________________EUCALYN_L3________________ KC_Z, KC_X, KC_C, KC_V, KC_W
  92. #define _________________EUCALYN_R1________________ KC_M, KC_R, KC_D, KC_Y, KC_P
  93. #define _________________EUCALYN_R2________________ KC_G, KC_T, KC_K, KC_S, KC_N
  94. #define _________________EUCALYN_R3________________ KC_B, KC_H, KC_J, KC_L, KC_SCLN
  95. #define _____________CARPLAX_QFMLWY_L1_____________ KC_Q, KC_F, KC_M, KC_L, KC_W
  96. #define _____________CARPLAX_QFMLWY_L2_____________ KC_D, KC_S, KC_T, KC_N, KC_R
  97. #define _____________CARPLAX_QFMLWY_L3_____________ KC_Z, KC_V, KC_G, KC_C, KC_X
  98. #define _____________CARPLAX_QFMLWY_R1_____________ KC_Y, KC_U, KC_O, KC_B, KC_J
  99. #define _____________CARPLAX_QFMLWY_R2_____________ KC_I, KC_A, KC_E, KC_H, KC_SCLN
  100. #define _____________CARPLAX_QFMLWY_R3_____________ KC_P, KC_K, KC_COMM, KC_DOT, KC_SLSH
  101. #define _____________CARPLAX_QGMLWB_L1_____________ KC_Q, KC_G, KC_M, KC_L, KC_W
  102. #define _____________CARPLAX_QGMLWB_L2_____________ KC_D, KC_S, KC_T, KC_N, KC_R
  103. #define _____________CARPLAX_QGMLWB_L3_____________ KC_Z, KC_X, KC_C, KC_F, KC_J
  104. #define _____________CARPLAX_QGMLWB_R1_____________ KC_B, KC_Y, KC_U, KC_V, KC_SCLN
  105. #define _____________CARPLAX_QGMLWB_R2_____________ KC_I, KC_A, KC_E, KC_O, KC_H
  106. #define _____________CARPLAX_QGMLWB_R3_____________ KC_K, KC_P, KC_COMM, KC_DOT, KC_SLSH
  107. #define _____________CARPLAX_QGMLWY_L1_____________ KC_Q, KC_G, KC_M, KC_L, KC_W
  108. #define _____________CARPLAX_QGMLWY_L2_____________ KC_D, KC_S, KC_T, KC_N, KC_R
  109. #define _____________CARPLAX_QGMLWY_L3_____________ KC_Z, KC_X, KC_C, KC_V, KC_J
  110. #define _____________CARPLAX_QGMLWY_R1_____________ KC_Y, KC_F, KC_U, KC_B, KC_SCLN
  111. #define _____________CARPLAX_QGMLWY_R2_____________ KC_I, KC_A, KC_E, KC_O, KC_H
  112. #define _____________CARPLAX_QGMLWY_R3_____________ KC_K, KC_P, KC_COMM, KC_DOT, KC_SLSH
  113. #ifdef UNICODE_ENABLE
  114. # define _______________UNICODE_L1__________________ UC_DISA,UC_DISA, UC_DISA, UC_DISA, UC_DISA
  115. # define _______________UNICODE_L2__________________ UC_DISA,UC_DISA, UC_DISA, UC_DISA, UC_DISA
  116. # define _______________UNICODE_L3__________________ UC_DISA,UC_DISA, UC_DISA, UC_DISA, UC_DISA
  117. # define _______________UNICODE_R1__________________ UC_SHRG, UC_SHRG, UC_SHRG, UC_SHRG, UC_SHRG
  118. # define _______________UNICODE_R2__________________ UC_SHRG, UC_SHRG, UC_SHRG, UC_SHRG, UC_SHRG
  119. # define _______________UNICODE_R3__________________ UC_SHRG, UC_SHRG, UC_SHRG, UC_SHRG, UC_SHRG
  120. #endif
  121. #ifdef UNICODEMAP_ENABLE
  122. # define _______________UNICODE_L1__________________ X(SMRK), X(THINK), X(CLOWN), X(HUNDR), X(BANG)
  123. # define _______________UNICODE_L2__________________ X(GRIN), X(MONKEY), X(OKOK), X(EGGPL), X(LIT)
  124. # define _______________UNICODE_L3__________________ X(WEARY), X(UNAMU), X(EFFU), X(MONOCL), X(IRONY)
  125. # define _______________UNICODE_R1__________________ X(DRUG0), X(THUP), X(INUP), X(DIZZY), X(COOL)
  126. # define _______________UNICODE_R2__________________ X(FIST0), X(FIST2), X(FIST3), X(FIST1), X(OKOK)
  127. # define _______________UNICODE_R3__________________ X(MNDBLWN), X(THDN), X(SPOCK), X(HOLE), X(DASH)
  128. #endif
  129. #define ________________NUMBER_LEFT________________ KC_1, KC_2, KC_3, KC_4, KC_5
  130. #define ________________NUMBER_RIGHT_______________ KC_6, KC_7, KC_8, KC_9, KC_0
  131. #define _________________FUNC_LEFT_________________ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5
  132. #define _________________FUNC_RIGHT________________ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10
  133. #define _________________MEDIA_RIGHT_______________ KC_MUTE, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP
  134. #define _________________MEDIA_LEFT________________ KC_VOLD, KC_VOLD, KC_MUTE, KC_VOLU, KC_VOLU
  135. #define _________________LOWER_L1__________________ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC
  136. #define _________________LOWER_L2__________________ ___________________BLANK___________________
  137. #define _________________LOWER_L3__________________ _______, _______, _______, OS_UNI, TM_X
  138. #define _________________LOWER_R1__________________ KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN
  139. #define _________________LOWER_R2__________________ _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR
  140. #define _________________LOWER_R3__________________ _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
  141. #define _________________RAISE_L1__________________ ________________NUMBER_LEFT________________
  142. #define _________________RAISE_L2__________________ ___________________BLANK___________________
  143. #define _________________RAISE_L3__________________ ___________________BLANK___________________
  144. #define _________________RAISE_R1__________________ ________________NUMBER_RIGHT_______________
  145. #define _________________RAISE_R2__________________ _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC
  146. #define _________________RAISE_R3__________________ _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
  147. #define _________________ADJUST_L1_________________ QWERTY, COLEMAK, DVORAK, WORKMAN, PLOVER
  148. #define _________________ADJUST_L2_________________ _________________FUNC_LEFT_________________
  149. #define _________________ADJUST_L3_________________ _________________MEDIA_LEFT________________
  150. #define _________________ADJUST_R1_________________ SEC1, SEC2, SEC3, SEC4, SEC5
  151. #define _________________ADJUST_R2_________________ _________________FUNC_RIGHT________________
  152. #define _________________ADJUST_R3_________________ _________________MEDIA_RIGHT_______________
  153. #define _________________RGB_UP____________________ RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG
  154. #define _________________RGB_CENTER________________ MU_TOG , CK_TOGG, AU_ON, AU_OFF, AG_NORM
  155. #define _________________RGB_DOWN__________________ RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_RGB_T
  156. #define _________________RGB_R1____________________ RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG
  157. #define _________________RGB_R2____________________ MU_TOG , CK_TOGG, AU_ON, AU_OFF, AG_NORM
  158. #define _________________RGB_R3____________________ RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_RGB_T
  159. #define __________________GAMEPAD_L1_______________ _______, KC_Q, KC_W, KC_E, _______
  160. #define __________________GAMEPAD_L2_______________ _______, KC_A, KC_S, KC_D, _______
  161. #define __________________GAMEPAD_L3_______________ KC_1, KC_2, KC_3, KC_4, KC_5
  162. #define __________________GAMEPAD_R1_______________ _______, KC_U, KC_UP, KC_O, _______
  163. #define __________________GAMEPAD_R2_______________ _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______
  164. #define __________________GAMEPAD_R3_______________ KC_6, KC_7, KC_8, KC_9, KC_0
  165. /* vi: ft=c:tw=80:sw=2:ts=2:sts=2:et */