rev1.h 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. #pragma once
  2. #include "kbd75.h"
  3. /* LAYOUT
  4. * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
  5. * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
  6. * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
  7. * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
  8. * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤
  9. * │1.5U │ │ │ │ │ │ │ │ │ │ │ │ │1.5U │ │
  10. * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
  11. * │1.75U │ │ │ │ │ │ │ │ │ │ │ │2.25U │ │
  12. * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
  13. * │2.25U │ │ │ │ │ │ │ │ │ │ │1.75U │ │ │
  14. * ├────┬───┴┬──┴─┬─┴───┴──┬┴───┼───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤
  15. * │1.25│1.25│1.25│2.25U │1.25│2.75U │ │ │ │ │ │ │
  16. * └────┴────┴────┴────────┴────┴──────────┴───┴───┴───┴───┴───┴───┘
  17. */
  18. // LAYOUT for all possible switch positions on a KBD75 rev 1
  19. #define LAYOUT( \
  20. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
  21. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \
  22. K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, \
  23. K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K315, \
  24. K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K413, K414, K415, \
  25. K500, K501, K503, K504, K506, K508, K510, K511, K512, K513, K514, K515 \
  26. ) { \
  27. { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
  28. { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \
  29. { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
  30. { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, K315 }, \
  31. { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, K413, K414, K415 }, \
  32. { K500, K501, KC_NO, K503, K504, KC_NO, K506, KC_NO, K508, KC_NO, K510, K511, K512, K513, K514, K515 } \
  33. }
  34. /* 1U bottom row ─────────────────────────── ↓ ─ ↓ ─ ↓
  35. * ┌────┬────┬────┬────────────────────────┬───┬───┬───┬───┬───┬───┐
  36. * │1.25│1.25│1.25│6.25U │1U │1U │1U │1U │1U │1U │
  37. * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘
  38. */
  39. #define LAYOUT_ansi_1u( \
  40. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
  41. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K114, K115, \
  42. K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, \
  43. K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K315, \
  44. K400, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K413, K414, K415, \
  45. K500, K501, K503, K506, K510, K511, K512, K513, K514, K515 \
  46. ) { \
  47. { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
  48. { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, KC_NO, K114, K115 }, \
  49. { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
  50. { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, K315 }, \
  51. { K400, KC_NO, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, K413, K414, K415 }, \
  52. { K500, K501, KC_NO, K503, KC_NO, KC_NO, K506, KC_NO, KC_NO, KC_NO, K510, K511, K512, K513, K514, K515 } \
  53. }
  54. #define LAYOUT_75_ansi LAYOUT_ansi_1u
  55. #define LAYOUT_iso_1u( \
  56. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
  57. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K114, K115, \
  58. K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K313, K215, \
  59. K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K214, K315, \
  60. K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K413, K414, K415, \
  61. K500, K501, K503, K506, K510, K511, K512, K513, K514, K515 \
  62. ) { \
  63. { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
  64. { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, KC_NO, K114, K115 }, \
  65. { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
  66. { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, K315 }, \
  67. { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, K413, K414, K415 }, \
  68. { K500, K501, KC_NO, K503, KC_NO, KC_NO, K506, KC_NO, KC_NO, KC_NO, K510, K511, K512, K513, K514, K515 } \
  69. }
  70. #define LAYOUT_75_iso( \
  71. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
  72. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K114, K115, \
  73. K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K215, \
  74. K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K214, K313, K315, \
  75. K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K413, K414, K415, \
  76. K500, K501, K503, K506, K510, K511, K512, K513, K514, K515 \
  77. ) LAYOUT_iso_1u( \
  78. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
  79. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K114, K115, \
  80. K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K313, K215, \
  81. K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K214, K315, \
  82. K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K413, K414, K415, \
  83. K500, K501, K503, K506, K510, K511, K512, K513, K514, K515 \
  84. )
  85. /* normal bottom row ──────────────────────── ↓ ─── ↓
  86. * ┌────┬────┬────┬────────────────────────┬─────┬─────┬───┬───┬───┐
  87. * │1.25│1.25│1.25│6.25U │1.5U │1.5U │1U │1U │1U │
  88. * └────┴────┴────┴────────────────────────┴─────┴─────┴───┴───┴───┘
  89. */
  90. #define LAYOUT_ansi( \
  91. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
  92. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K114, K115, \
  93. K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, \
  94. K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K315, \
  95. K400, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K413, K414, K415, \
  96. K500, K501, K503, K506, K510, K512, K513, K514, K515 \
  97. ) { \
  98. { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
  99. { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, KC_NO, K114, K115 }, \
  100. { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
  101. { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, K315 }, \
  102. { K400, KC_NO, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, K413, K414, K415 }, \
  103. { K500, K501, KC_NO, K503, KC_NO, KC_NO, K506, KC_NO, KC_NO, KC_NO, K510, KC_NO, K512, K513, K514, K515 } \
  104. }
  105. #define LAYOUT_iso( \
  106. K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \
  107. K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K114, K115, \
  108. K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K313, K215, \
  109. K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K214, K315, \
  110. K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K413, K414, K415, \
  111. K500, K501, K503, K506, K510, K512, K513, K514, K515 \
  112. ) { \
  113. { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \
  114. { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, KC_NO, K114, K115 }, \
  115. { K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \
  116. { K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, K315 }, \
  117. { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, KC_NO, K413, K414, K415 }, \
  118. { K500, K501, KC_NO, K503, KC_NO, KC_NO, K506, KC_NO, KC_NO, KC_NO, K510, KC_NO, K512, K513, K514, K515 } \
  119. }