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.

142 lines
8.8 KiB

  1. /*
  2. Copyright 2012,2013 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. #ifndef BANANASPLIT_H
  15. #define BANANASPLIT_H
  16. #include "quantum.h"
  17. /*
  18. -------------------------------------------------------------------------------------------
  19. | K00 | K01 | K02 | K03 | K04 | K05 | K06 | K07 | K08 | K09 | K0A | K0B | K0C | K0D |
  20. -------------------------------------------------------------------------------------------
  21. | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18 | K19 | K1A | K1B | K1C | K1D |
  22. -------------------------------------------------------------------------------------------
  23. | K20 | K21 | K22 | K23 | K24 | K25 | K26 | K27 | K28 | K29 | K2A | K2B | K2C |
  24. -------------------------------------------------------------------------------------------
  25. | K30 | K32 | K33 | K34 | K35 | K36 | K37 | K38 | K39 | K3A | K3B | K3C | K3D |
  26. -------------------------------------------------------------------------------------------
  27. | K40 | K41 | K42 | K44 | K45 | K46 | K48 | K49 | K4A | K4B | K4C |
  28. -------------------------------------------------------------------------------------------
  29. */
  30. #define LAYOUT_base( \
  31. K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
  32. K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
  33. K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
  34. K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
  35. K40, K41, K42, K44, K45, K46, K48, K49, K4A, K4B, K4C \
  36. ) { \
  37. { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
  38. { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
  39. { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO }, \
  40. { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
  41. { K40, K41, K42, KC_NO, K44, K45, K46, KC_NO, K48, K49, K4A, K4B, K4C, KC_NO } \
  42. }
  43. /* Here is the above keymap filled with KC_TRNS. It's a useful starting point when defining layers.
  44. KEYMAP( \
  45. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
  46. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
  47. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
  48. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
  49. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
  50. )
  51. */
  52. #define LAYOUT_hhkbanana( \
  53. K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \
  54. K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
  55. K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
  56. K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
  57. K40, K41, K42, K44, K45, K46, K48, K49, K4A, K4B, K4C \
  58. ) { \
  59. { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
  60. { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
  61. { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
  62. { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO }, \
  63. { K40, K41, K42, KC_NO, K44, K45, K46, KC_NO, K48, K49, K4A, K4B, K4C, KC_NO } \
  64. }
  65. #define LAYOUT_60_ansi( \
  66. K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
  67. K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
  68. K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
  69. K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
  70. K40, K41, K42, K45, K48, K49, K4B, K4C \
  71. ) { \
  72. { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
  73. { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
  74. { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO }, \
  75. { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO }, \
  76. { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, K48, K49, KC_NO, K4B, K4C, KC_NO } \
  77. }
  78. #define LAYOUT_60_iso( \
  79. K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
  80. K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
  81. K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
  82. K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
  83. K40, K41, K42, K45, K48, K49, K4B, K4C \
  84. ) { \
  85. { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
  86. { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
  87. { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO }, \
  88. { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, KC_NO }, \
  89. { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, K48, K49, KC_NO, K4B, K4C, KC_NO } \
  90. }
  91. /*
  92. -------------------------------------------------------------------------------------------
  93. | K00 | K01 | K02 | K03 | K04 | K05 | K06 | K07 | K08 | K09 | K0A | K0B | K0C | K0D | K2D |
  94. -------------------------------------------------------------------------------------------
  95. | K10 | K11 | K12 | K13 | K14 | K15 | K16 | K17 | K18 | K19 | K1A | K1B | K1C | K1D |
  96. -------------------------------------------------------------------------------------------
  97. | K20 | K21 | K22 | K23 | K24 | K25 | K26 | K27 | K28 | K29 | K2A | K2B | K2C |
  98. -------------------------------------------------------------------------------------------
  99. | K30 | K31 | K32 | K33 | K34 | K35 | K36 | K37 | K38 | K39 | K3A | K3B | K3C | K3D |
  100. -------------------------------------------------------------------------------------------
  101. | K40 | K41 | K42 | K44 | K45 | K46 | K48 | K49 | K4A | K4B | K4C |
  102. -------------------------------------------------------------------------------------------
  103. */
  104. #define LAYOUT_all( \
  105. K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \
  106. K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
  107. K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
  108. K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
  109. K40, K41, K42, K44, K45, K46, K48, K49, K4A, K4B, K4C \
  110. ) { \
  111. { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
  112. { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
  113. { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
  114. { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
  115. { K40, K41, K42, KC_NO, K44, K45, K46, KC_NO, K48, K49, K4A, K4B, K4C, KC_NO } \
  116. }
  117. #define LAYOUT_hhkb_arrow( \
  118. K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \
  119. K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
  120. K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
  121. K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D,\
  122. K40, K41, K42, K44, K45, K46, K48, K49, K4A, K4B, K4C \
  123. ) { \
  124. { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
  125. { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
  126. { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
  127. { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
  128. { K40, K41, K42, KC_NO, K44, K45, K46, KC_NO, K48, K49, K4A, K4B, K4C, KC_NO } \
  129. }
  130. #endif