rev2.h 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. // Copyright 2018-2021 QMK
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #pragma once
  4. #include "kbd75.h"
  5. #define ___ KC_NO
  6. /*
  7. * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
  8. * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │0F │
  9. * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ ┌───────┐
  10. * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │1F │ │1E │ 2u Backspace
  11. * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ └─┬─────┤
  12. * │20 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │2E │2F │ │ │
  13. * 2.25u ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴┐3D │ ISO Enter
  14. * LShift │30 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3F │ │2E │ │
  15. * ┌────────┐ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ ┌─┴───┴────┤
  16. * │40 │ │40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4D │4E │4F │ │4D │ 2.75u RShift
  17. * └────────┘ ├────┼───┴┬──┴─┬─┴───┴──┬┴───┼───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤ └──────────┘
  18. * │50 │51 │53 │54 │56 │58 │5A │5B │5C │5D │5E │5F │
  19. * └────┴────┴────┴────────┴────┴──────────┴───┴───┴───┴───┴───┴───┘
  20. * ┌────┬────┬────┬────────────────────────┬───┬───┬───┐
  21. * │50 │51 │53 │56 │5A │5B │5C │ Standard Spacebar
  22. * └────┴────┴────┴────────────────────────┴───┴───┴───┘
  23. * ┌────┬────┬────┬────────────────────────┬─────┬─────┐
  24. * │50 │51 │53 │56 │5A │5C │ Right-Side Winkeyless
  25. * └────┴────┴────┴────────────────────────┴─────┴─────┘
  26. * ┌─────┬─────┬───────────────────────────┬─────┬─────┐
  27. * │50 │51 │56 │5A │5C │ Winkeyless
  28. * └─────┴─────┴───────────────────────────┴─────┴─────┘
  29. */
  30. // LAYOUT for all possible switch positions on a KBD75 rev 2
  31. #define LAYOUT( \
  32. K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
  33. K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \
  34. K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, \
  35. K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \
  36. K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4E, K4F, \
  37. K50, K51, K53, K54, K56, K58, K5A, K5B, K5C, K5D, K5E, K5F \
  38. ) { \
  39. { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
  40. { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
  41. { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \
  42. { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, ___, K3F }, \
  43. { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, ___, K4D, K4E, K4F }, \
  44. { K50, K51, ___, K53, K54, ___, K56, ___, K58, ___, K5A, K5B, K5C, K5D, K5E, K5F } \
  45. }
  46. /* Standard bottom row
  47. * ┌────┬────┬────┬────────────────────────┬───┬───┬───┬───┬───┬───┐
  48. * │1.25│1.25│1.25│6.25U │1U │1U │1U │1U │1U │1U │
  49. * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘
  50. */
  51. #define LAYOUT_75_ansi( \
  52. K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
  53. K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K1F, \
  54. K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, \
  55. K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \
  56. K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4E, K4F, \
  57. K50, K51, K53, K56, K5A, K5B, K5C, K5D, K5E, K5F \
  58. ) { \
  59. { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
  60. { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___, K1E, K1F }, \
  61. { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \
  62. { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, ___, K3F }, \
  63. { K40, ___, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, ___, K4D, K4E, K4F }, \
  64. { K50, K51, ___, K53, ___, ___, K56, ___, ___, ___, K5A, K5B, K5C, K5D, K5E, K5F } \
  65. }
  66. #define LAYOUT_75_iso( \
  67. K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
  68. K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K1F, \
  69. K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2F, \
  70. K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K2E, K3D, K3F, \
  71. K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4E, K4F, \
  72. K50, K51, K53, K56, K5A, K5B, K5C, K5D, K5E, K5F \
  73. ) { \
  74. { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
  75. { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___, K1E, K1F }, \
  76. { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \
  77. { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, ___, K3F }, \
  78. { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, ___, K4D, K4E, K4F }, \
  79. { K50, K51, ___, K53, ___, ___, K56, ___, ___, ___, K5A, K5B, K5C, K5D, K5E, K5F } \
  80. }
  81. /* Full Winkeyless (WKL)
  82. * ┌─────┬─────┬───────────────────────────┬─────┬─────┬───┬───┬───┐
  83. * │1.5 │1.5 │7U │1.5U │1.5U │1U │1U │1U │
  84. * └─────┴─────┴───────────────────────────┴─────┴─────┴───┴───┴───┘
  85. */
  86. #define LAYOUT_75_ansi_wkl( \
  87. K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
  88. K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K1F, \
  89. K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, \
  90. K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \
  91. K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4E, K4F, \
  92. K50, K51, K56, K5A, K5C, K5D, K5E, K5F \
  93. ) { \
  94. { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
  95. { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___, K1E, K1F }, \
  96. { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \
  97. { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, ___, K3F }, \
  98. { K40, ___, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, ___, K4D, K4E, K4F }, \
  99. { K50, K51, ___, ___, ___, ___, K56, ___, ___, ___, K5A, ___, K5C, K5D, K5E, K5F } \
  100. }
  101. #define LAYOUT_75_iso_wkl( \
  102. K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
  103. K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K1F, \
  104. K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K3D, K2F, \
  105. K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K2E, K3F, \
  106. K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4E, K4F, \
  107. K50, K51, K56, K5A, K5C, K5D, K5E, K5F \
  108. ) { \
  109. { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
  110. { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___, K1E, K1F }, \
  111. { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \
  112. { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, ___, K3F }, \
  113. { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, ___, K4D, K4E, K4F }, \
  114. { K50, K51, ___, ___, ___, ___, K56, ___, ___, ___, K5A, ___, K5C, K5D, K5E, K5F } \
  115. }
  116. /* Right-Side Winkeyless (RWKL)
  117. * ┌────┬────┬────┬────────────────────────┬─────┬─────┬───┬───┬───┐
  118. * │1.25│1.25│1.25│6.25U │1.5U │1.5U │1U │1U │1U │
  119. * └────┴────┴────┴────────────────────────┴─────┴─────┴───┴───┴───┘
  120. */
  121. #define LAYOUT_75_ansi_rwkl( \
  122. K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
  123. K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K1F, \
  124. K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, \
  125. K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \
  126. K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4E, K4F, \
  127. K50, K51, K53, K56, K5A, K5C, K5D, K5E, K5F \
  128. ) { \
  129. { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
  130. { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___, K1E, K1F }, \
  131. { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \
  132. { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, ___, K3F }, \
  133. { K40, ___, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, ___, K4D, K4E, K4F }, \
  134. { K50, K51, ___, K53, ___, ___, K56, ___, ___, ___, K5A, ___, K5C, K5D, K5E, K5F } \
  135. }
  136. #define LAYOUT_75_iso_rwkl( \
  137. K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
  138. K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K1F, \
  139. K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K3D, K2F, \
  140. K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K2E, K3F, \
  141. K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4E, K4F, \
  142. K50, K51, K53, K56, K5A, K5C, K5D, K5E, K5F \
  143. ) { \
  144. { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
  145. { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, ___, K1E, K1F }, \
  146. { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \
  147. { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, ___, K3F }, \
  148. { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, ___, K4D, K4E, K4F }, \
  149. { K50, K51, ___, K53, ___, ___, K56, ___, ___, ___, K5A, ___, K5C, K5D, K5E, K5F } \
  150. }
  151. /* The KBD75 rev1 and rev2 PCBs have the same matrix, but only the rev2
  152. * supports the numpad layout. I own a rev1, so I don't know what the numpad
  153. * layout's matrix is entirely.
  154. *
  155. * - @noroadsleft
  156. *
  157. * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
  158. * │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │0F │
  159. * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ ┌───────┐
  160. * │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │1F │ │?? │ 2u Backspace
  161. * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┼───┼───┤ └─┬─────┤
  162. * │20 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │2E │2F │ │ │
  163. * 2.25u ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┼───┼───┤ ┌──┴┐?? │ ISO Enter
  164. * LShift │30 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3F │ │?? │ │
  165. * ┌────────┐ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┼───┼───┤ └───┴────┘
  166. * │40 │ │40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4D │4E │4F │
  167. * └────────┘ ├────┼───┴┬──┴─┬─┴──┬┴───┴───┼───┴──┬┴──┬┴──┬───┼───┼───┼───┼───┤
  168. * │50 │51 │53 │54 │56 │58 │59 │5A │5B │5C │5D │5E │5F │
  169. * └────┴────┴────┴────┴────────┴──────┴───┴───┴───┴───┴───┴───┴───┘
  170. */
  171. // LAYOUT for all possible switch positions on a KBD75 rev 2
  172. #define LAYOUT_numpad( \
  173. K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
  174. K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \
  175. K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, \
  176. K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, \
  177. K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4E, K4F, \
  178. K50, K51, K53, K54, K56, K58, K59, K5A, K5B, K5C, K5D, K5E, K5F \
  179. ) { \
  180. { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
  181. { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
  182. { K20, ___, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \
  183. { K30, ___, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, ___, K3F }, \
  184. { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, ___, K4D, K4E, K4F }, \
  185. { K50, K51, ___, K53, K54, ___, K56, ___, K58, K59, K5A, K5B, K5C, K5D, K5E, K5F } \
  186. }