2
0

dz60.h 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389
  1. #ifndef DZ60_H
  2. #define DZ60_H
  3. #include "quantum.h"
  4. // Corresponding changes to the layout names and/or definitions must also be made to info.json
  5. // 标准配列
  6. /* Standard arrangement / LAYOUT
  7. * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
  8. * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │
  9. * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
  10. * │10 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │1e │
  11. * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
  12. * │20 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d │
  13. * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤
  14. * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3d │3e │
  15. * ├────┼───┴┬──┴─┬─┴───┴──┬┴───┼───┴───┴──┬┴──┬┴──┬┴──┬───┼───┤
  16. * │40 │41 │43 │44 │46 │48 │4a │4b │4c │4d │4e │
  17. * └────┴────┴────┴────────┴────┴──────────┴───┴───┴───┴───┴───┘
  18. */
  19. #define LAYOUT( \
  20. k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
  21. k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \
  22. k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
  23. k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3e, \
  24. k40, k41, k43, k44, k46, k48, k4a, k4b, k4c, k4d, k4e \
  25. ) { \
  26. { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \
  27. { k10, KC_NO, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \
  28. { k20, KC_NO, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, KC_NO }, \
  29. { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, KC_NO, k3d, k3e }, \
  30. { k40, k41, KC_NO, k43, k44, KC_NO, k46, KC_NO, k48, KC_NO, k4a, k4b, k4c, k4d, k4e } \
  31. }
  32. /* LAYOUT_true_hhkb
  33. * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
  34. * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │
  35. * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
  36. * │10 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │1e │
  37. * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
  38. * │20 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d │
  39. * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤
  40. * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3d │3e │
  41. * ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴┬─────┴───┤
  42. * │▓▓▓▓▓│41 │43 │46 (6u) │4a │4b │▓▓▓▓▓▓▓▓▓│
  43. * └─────┴───┴─────┴───────────────────────┴─────┴───┴─────────┘
  44. */
  45. #define LAYOUT_true_hhkb( \
  46. k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
  47. k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \
  48. k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
  49. k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3e, \
  50. k41, k43, k46, k4a, k4b \
  51. ) { \
  52. { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \
  53. { k10, KC_NO, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \
  54. { k20, KC_NO, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, KC_NO }, \
  55. { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, KC_NO, k3d, k3e }, \
  56. { KC_NO, k41, KC_NO, k43, KC_NO, KC_NO, k46, KC_NO, KC_NO, KC_NO, k4a, k4b, KC_NO, KC_NO, KC_NO } \
  57. }
  58. /* LAYOUT_60_hhkb
  59. * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
  60. * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │
  61. * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
  62. * │10 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │1e │
  63. * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
  64. * │20 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d │
  65. * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤
  66. * │30 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3d │3e │
  67. * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤
  68. * │▓▓▓▓▓│41 │43 │46 (7u) │4b │4d │▓▓▓▓▓│
  69. * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
  70. */
  71. #define LAYOUT_60_hhkb( \
  72. k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
  73. k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \
  74. k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
  75. k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3e, \
  76. k41, k43, k46, k4b, k4d \
  77. ) { \
  78. { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \
  79. { k10, KC_NO, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \
  80. { k20, KC_NO, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, KC_NO }, \
  81. { k30, KC_NO, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, KC_NO, k3d, k3e }, \
  82. { KC_NO, k41, KC_NO, k43, KC_NO, KC_NO, k46, KC_NO, KC_NO, KC_NO, KC_NO, k4b, KC_NO, k4d, KC_NO } \
  83. }
  84. // 带方向配列
  85. /* Directional arrangement | LAYOUT_directional
  86. * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
  87. * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │
  88. * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
  89. * │10 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │1e │
  90. * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
  91. * │20 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d │
  92. * ├──────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬───┬───┤
  93. * │30 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │3d │3e │
  94. * ├────┬──┴─┬─┴──┬┴───┴───┼───┴┬──┴───┴───┼───┼───┼───┼───┼───┤
  95. * │40 │41 │43 │44 │46 │48 │4a │4b │4c │4d │4e │
  96. * └────┴────┴────┴────────┴────┴──────────┴───┴───┴───┴───┴───┘
  97. */
  98. #define LAYOUT_directional( \
  99. k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
  100. k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \
  101. k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
  102. k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \
  103. k40, k41, k43, k44, k46, k48, k4a, k4b, k4c, k4d, k4e \
  104. ) { \
  105. { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \
  106. { k10, KC_NO, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \
  107. { k20, KC_NO, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, KC_NO }, \
  108. { k30, KC_NO, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e }, \
  109. { k40, k41, KC_NO, k43, k44, KC_NO, k46, KC_NO, k48, KC_NO, k4a, k4b, k4c, k4d, k4e } \
  110. }
  111. /* LAYOUT_all
  112. * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
  113. * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │
  114. * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
  115. * │10 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │1e │
  116. * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
  117. * │20 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d │
  118. * ├───┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬───┬───┤
  119. * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3c │3d │3e │
  120. * ├───┴┬──┴─┬─┴──┬┴───┴───┼───┴┬──┴───┴───┼───┼───┼───┼───┼───┤
  121. * │40 │41 │43 │44 │46 │48 │4a │4b │4c │4d │4e │
  122. * └────┴────┴────┴────────┴────┴──────────┴───┴───┴───┴───┴───┘
  123. */
  124. #define LAYOUT_all( \
  125. k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
  126. k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \
  127. k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
  128. k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e, \
  129. k40, k41, k43, k44, k46, k48, k4a, k4b, k4c, k4d, k4e \
  130. ) { \
  131. { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \
  132. { k10, KC_NO, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \
  133. { k20, KC_NO, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, KC_NO }, \
  134. { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e }, \
  135. { k40, k41, KC_NO, k43, k44, KC_NO, k46, KC_NO, k48, KC_NO, k4a, k4b, k4c, k4d, k4e } \
  136. }
  137. /* LAYOUT_60_ansi
  138. * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
  139. * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0e │
  140. * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
  141. * │10 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │1e │
  142. * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
  143. * │20 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d │
  144. * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
  145. * │30 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3d │
  146. * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
  147. * │40 │41 │43 │46 │4a │4b │4d │4e │
  148. * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
  149. */
  150. #define LAYOUT_60_ansi( \
  151. k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, \
  152. k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \
  153. k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
  154. k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \
  155. k40, k41, k43, k46, k4a, k4b, k4d, k4e \
  156. ) { \
  157. { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, KC_NO, k0e }, \
  158. { k10, KC_NO, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \
  159. { k20, KC_NO, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, KC_NO }, \
  160. { k30, KC_NO, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, KC_NO, k3d, KC_NO }, \
  161. { k40, k41, KC_NO, k43, KC_NO, KC_NO, k46, KC_NO, KC_NO, KC_NO, k4a, k4b, KC_NO, k4d, k4e } \
  162. }
  163. /* LAYOUT_60_ansi_split
  164. * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
  165. * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0e │
  166. * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
  167. * │10 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │1e │
  168. * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
  169. * │20 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d │
  170. * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
  171. * │30 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3d │
  172. * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
  173. * │40 │41 │43 │44 │46 │48 │4a │4b │4d │4e │
  174. * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
  175. */
  176. #define LAYOUT_60_ansi_split( \
  177. k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, \
  178. k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \
  179. k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
  180. k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \
  181. k40, k41, k43, k44, k46, k48, k4a, k4b, k4d, k4e \
  182. ) { \
  183. { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, KC_NO, k0e }, \
  184. { k10, KC_NO, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \
  185. { k20, KC_NO, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, KC_NO }, \
  186. { k30, KC_NO, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, KC_NO, k3d, KC_NO }, \
  187. { k40, k41, KC_NO, k43, k44, KC_NO, k46, KC_NO, k48, KC_NO, k4a, k4b, KC_NO, k4d, k4e } \
  188. }
  189. /* LAYOUT_60_iso
  190. * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
  191. * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0e │
  192. * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
  193. * │10 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │ │
  194. * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐2d │
  195. * │20 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │1e │ │
  196. * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
  197. * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3d │
  198. * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
  199. * │40 │41 │43 │46 │4a │4b │4d │4e │
  200. * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
  201. */
  202. #define LAYOUT_60_iso( \
  203. k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, \
  204. k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
  205. k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k1e, k2d, \
  206. k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \
  207. k40, k41, k43, k46, k4a, k4b, k4d, k4e \
  208. ) { \
  209. { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, KC_NO, k0e }, \
  210. { k10, KC_NO, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \
  211. { k20, KC_NO, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, KC_NO }, \
  212. { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, KC_NO, k3d, KC_NO }, \
  213. { k40, k41, KC_NO, k43, KC_NO, KC_NO, k46, KC_NO, KC_NO, KC_NO, k4a, k4b, KC_NO, k4d, k4e } \
  214. }
  215. /* LAYOUT_60_iso_5x1u
  216. * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
  217. * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0e │
  218. * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
  219. * │10 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │ │
  220. * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐2d │
  221. * │20 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │1e │ │
  222. * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
  223. * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3d │
  224. * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┬───┤
  225. * │40 │41 │43 │46 │4a │4b │4c │4d │4e │
  226. * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
  227. */
  228. #define LAYOUT_60_iso_5x1u( \
  229. k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, \
  230. k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
  231. k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k1e, k2d, \
  232. k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \
  233. k40, k41, k43, k46, k4a, k4b, k4c, k4d, k4e \
  234. ) { \
  235. { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, KC_NO, k0e }, \
  236. { k10, KC_NO, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \
  237. { k20, KC_NO, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, KC_NO }, \
  238. { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, KC_NO, k3d, KC_NO }, \
  239. { k40, k41, KC_NO, k43, KC_NO, KC_NO, k46, KC_NO, KC_NO, KC_NO, k4a, k4b, k4c, k4d, k4e } \
  240. }
  241. /* LAYOUT_60_iso_split
  242. * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
  243. * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0e │
  244. * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
  245. * │10 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │ │
  246. * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐2d │
  247. * │20 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │1e │ │
  248. * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
  249. * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3d │
  250. * ├────┼───┴┬──┴─┬─┴───┴──┬┴───┼───┴───┴──┬┴───┼───┴┬────┬────┤
  251. * │40 │41 │43 │44 │46 │48 │4a │4b │4d │4e │
  252. * └────┴────┴────┴────────┴────┴──────────┴────┴────┴────┴────┘
  253. */
  254. #define LAYOUT_60_iso_split( \
  255. k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, \
  256. k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
  257. k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k1e, k2d, \
  258. k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \
  259. k40, k41, k43, k44, k46, k48, k4a, k4b, k4d, k4e \
  260. ) { \
  261. { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, KC_NO, k0e }, \
  262. { k10, KC_NO, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \
  263. { k20, KC_NO, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, KC_NO }, \
  264. { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, KC_NO, k3d, KC_NO }, \
  265. { k40, k41, KC_NO, k43, k44, KC_NO, k46, KC_NO, k48, KC_NO, k4a, k4b, KC_NO, k4d, k4e } \
  266. }
  267. /* LAYOUT_60_b_ansi (maximized DZ60 Plate B layout for ANSI)
  268. * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
  269. * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │
  270. * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
  271. * │10 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │1e │
  272. * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
  273. * │20 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d │
  274. * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
  275. * │30 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3c │3d │3e │
  276. * ├────┬───┴┬──┴─┬─┴───┴──┬┴───┼───┴───┴──┬┴──┬┴──┬───┼───┼───┤
  277. * │40 │41 │43 │44 │46 │48 │4a │4b │4c │4d │4e │
  278. * └────┴────┴────┴────────┴────┴──────────┴───┴───┴───┴───┴───┘
  279. */
  280. #define LAYOUT_60_b_ansi( \
  281. k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
  282. k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \
  283. k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
  284. k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3c, k3d, k3e, \
  285. k40, k41, k43, k44, k46, k48, k4a, k4b, k4c, k4d, k4e \
  286. ) { \
  287. { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \
  288. { k10, KC_NO, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \
  289. { k20, KC_NO, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, KC_NO }, \
  290. { k30, KC_NO, k32, k33, k34, k35, k36, k37, k38, k39, k3a, KC_NO, k3c, k3d, k3e }, \
  291. { k40, k41, KC_NO, k43, k44, KC_NO, k46, KC_NO, k48, KC_NO, k4a, k4b, k4c, k4d, k4e } \
  292. }
  293. /* LAYOUT_60_b_iso (maximized DZ60 Plate B layout for ISO)
  294. * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
  295. * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │
  296. * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
  297. * │10 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │ │
  298. * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐2d │
  299. * │20 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │1e │ │
  300. * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬──┴────┤
  301. * │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3c │3d │3e │
  302. * ├────┼───┴┬──┴─┬─┴───┴──┬┴───┼───┴───┴──┬┴──┬┴──┬───┼───┼───┤
  303. * │40 │41 │43 │44 │46 │48 │4a │4b │4c │4d │4e │
  304. * └────┴────┴────┴────────┴────┴──────────┴───┴───┴───┴───┴───┘
  305. */
  306. #define LAYOUT_60_b_iso( \
  307. k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
  308. k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
  309. k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k1e, k2d, \
  310. k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3c, k3d, k3e, \
  311. k40, k41, k43, k44, k46, k48, k4a, k4b, k4c, k4d, k4e \
  312. ) { \
  313. { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \
  314. { k10, KC_NO, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \
  315. { k20, KC_NO, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, KC_NO }, \
  316. { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, KC_NO, k3c, k3d, k3e }, \
  317. { k40, k41, KC_NO, k43, k44, KC_NO, k46, KC_NO, k48, KC_NO, k4a, k4b, k4c, k4d, k4e } \
  318. }
  319. /* LAYOUT_60_tsangan
  320. * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
  321. * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │ 0e │
  322. * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
  323. * │10 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │1e │
  324. * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
  325. * │20 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d │
  326. * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤
  327. * │30 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3d │3e │
  328. * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤
  329. * │40 │41 │43 │46 (7u) │4b │4d │4e │
  330. * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
  331. */
  332. #define LAYOUT_60_tsangan( \
  333. k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0e, \
  334. k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \
  335. k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
  336. k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3e, \
  337. k40, k41, k43, k46, k4b, k4d, k4e \
  338. ) { \
  339. { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, KC_NO, k0e }, \
  340. { k10, KC_NO, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \
  341. { k20, KC_NO, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, KC_NO }, \
  342. { k30, KC_NO, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, KC_NO, k3d, k3e }, \
  343. { k40, k41, KC_NO, k43, KC_NO, KC_NO, k46, KC_NO, KC_NO, KC_NO, KC_NO, k4b, KC_NO, k4d, k4e } \
  344. }
  345. /* LAYOUT_60_tsangan_hhkb
  346. * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
  347. * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0a │0b │0c │0d │0e │
  348. * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
  349. * │10 │12 │13 │14 │15 │16 │17 │18 │19 │1a │1b │1c │1d │1e │
  350. * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
  351. * │20 │22 │23 │24 │25 │26 │27 │28 │29 │2a │2b │2c │2d │
  352. * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤
  353. * │30 │32 │33 │34 │35 │36 │37 │38 │39 │3a │3b │3d │3e │
  354. * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤
  355. * │40 │41 │43 │46 (7u) │4b │4d │4e │
  356. * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
  357. */
  358. #define LAYOUT_60_tsangan_hhkb( \
  359. k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
  360. k10, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \
  361. k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
  362. k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3e, \
  363. k40, k41, k43, k46, k4b, k4d, k4e \
  364. ) { \
  365. { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \
  366. { k10, KC_NO, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \
  367. { k20, KC_NO, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, KC_NO }, \
  368. { k30, KC_NO, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, KC_NO, k3d, k3e }, \
  369. { k40, k41, KC_NO, k43, KC_NO, KC_NO, k46, KC_NO, KC_NO, KC_NO, KC_NO, k4b, KC_NO, k4d, k4e } \
  370. }
  371. #endif