rev1.h 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. /* Copyright 2020 2Moons
  2. *
  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. *
  8. * This program is distributed in the hope that it will be useful,
  9. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. * GNU General Public License for more details.
  12. *
  13. * You should have received a copy of the GNU General Public License
  14. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  15. */
  16. #pragma once
  17. #include "slice.h"
  18. #include "quantum.h"
  19. //////////////////////////////////////////////////////////////////////////////
  20. // When only use Slice Rev1.
  21. //////////////////////////////////////////////////////////////////////////////
  22. /*
  23. * ,------------------------------------------------ --------------------------------------------------.
  24. * | L00 | L01 | L02 | L03 | L04 | L05 | L06 | L07 | | R00 | R01 | R02 | R03 | R04 | R05 | R06R07R08 |
  25. * |------------------------------------------------ ------------------------------------------------------+
  26. * | L10 | L11 | L12 | L13 | L14 | L15 | L16 | | R10 | R11 | R12 | R13 | R14 | R15 | R16 | R37 |
  27. * |---------------------------------------------- ------------------------------------------------------+
  28. * | L20 | L21 | L22 | L23 | L24 | L25 | L26 | | R20 | R21 | R22 | R23 | R24 | R25 | R26 |
  29. * |------------------------------------------------- --------------------------------------------------------+
  30. * | L30 | L31 | L32 | L33 | L34 | L35 | L36 | | R30 | R31 | R32 | R33 | R34 | R34 | R35 | R36R37R38 |
  31. * |------------------------------------------------- --------------------------------------------------------'
  32. * | L40 | L41 | L42 | L43 | L44L45L46 | | R40 | R41 | | R42 | R43 | R44 |
  33. * |------------------------------------------------- -------------------------------------------------------'
  34. */
  35. #define LAYOUT( \
  36. L00, L01, L02, L03, L04, L05, L06, L07, R00, R01, R02, R03, R04, R05, R07, \
  37. L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, R17, \
  38. L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
  39. L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, R38,\
  40. L40, L41, L42, L43, L45, R40, R41, R42, R43, R44 \
  41. ) \
  42. { \
  43. { L00, L01, L02, L03, L04, L05, L06, L07, KC_NO }, \
  44. { L10, L11, L12, L13, L14, L15, L16, KC_NO, KC_NO }, \
  45. { L20, L21, L22, L23, L24, L25, L26, KC_NO, KC_NO }, \
  46. { L30, L31, L32, L33, L34, L35, L36, KC_NO, KC_NO }, \
  47. { L40, L41, L42, L43, KC_NO, L45, KC_NO, KC_NO, KC_NO }, \
  48. { R00, R01, R02, R03, R04, R05, KC_NO, R07, KC_NO }, \
  49. { R10, R11, R12, R13, R14, R15, R16, R17, KC_NO }, \
  50. { R20, R21, R22, R23, R24, R25, R26, KC_NO, KC_NO }, \
  51. { R30, R31, R32, R33, R34, R35, R36, KC_NO, R38 }, \
  52. { R40, R41, R42, R43, R44, KC_NO, KC_NO, KC_NO, KC_NO } \
  53. }
  54. #define LAYOUT_all( \
  55. L00, L01, L02, L03, L04, L05, L06, L07, R00, R01, R02, R03, R04, R05, R06, R07, R08, \
  56. L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, R17, \
  57. L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
  58. L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, R37, R38,\
  59. L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44 \
  60. ) \
  61. { \
  62. { L00, L01, L02, L03, L04, L05, L06, L07, KC_NO }, \
  63. { L10, L11, L12, L13, L14, L15, L16, KC_NO, KC_NO }, \
  64. { L20, L21, L22, L23, L24, L25, L26, KC_NO, KC_NO }, \
  65. { L30, L31, L32, L33, L34, L35, L36, KC_NO, KC_NO }, \
  66. { L40, L41, L42, L43, L44, L45, L46, KC_NO, KC_NO }, \
  67. { R00, R01, R02, R03, R04, R05, R06, R07, R08 }, \
  68. { R10, R11, R12, R13, R14, R15, R16, R17, KC_NO }, \
  69. { R20, R21, R22, R23, R24, R25, R26, KC_NO, KC_NO }, \
  70. { R30, R31, R32, R33, R34, R35, R36, R37, R38 }, \
  71. { R40, R41, R42, R43, R44, KC_NO, KC_NO, KC_NO, KC_NO } \
  72. }
  73. #define LAYOUT_split_backspace( \
  74. L00, L01, L02, L03, L04, L05, L06, L07, R00, R01, R02, R03, R04, R05, R06, R08, \
  75. L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, R17, \
  76. L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
  77. L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, R38,\
  78. L40, L41, L42, L43, L45, R40, R41, R42, R43, R44 \
  79. ) \
  80. { \
  81. { L00, L01, L02, L03, L04, L05, L06, L07, KC_NO }, \
  82. { L10, L11, L12, L13, L14, L15, L16, KC_NO, KC_NO }, \
  83. { L20, L21, L22, L23, L24, L25, L26, KC_NO, KC_NO }, \
  84. { L30, L31, L32, L33, L34, L35, L36, KC_NO, KC_NO }, \
  85. { L40, L41, L42, L43, KC_NO, L45, KC_NO, KC_NO, KC_NO }, \
  86. { R00, R01, R02, R03, R04, R05, R06, KC_NO, R08 }, \
  87. { R10, R11, R12, R13, R14, R15, R16, R17, KC_NO }, \
  88. { R20, R21, R22, R23, R24, R25, R26, KC_NO, KC_NO }, \
  89. { R30, R31, R32, R33, R34, R35, R36, KC_NO, R38 }, \
  90. { R40, R41, R42, R43, R44, KC_NO, KC_NO, KC_NO, KC_NO } \
  91. }
  92. #define LAYOUT_split_left_space( \
  93. L00, L01, L02, L03, L04, L05, L06, L07, R00, R01, R02, R03, R04, R05, R07, \
  94. L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, R17, \
  95. L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
  96. L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, R38,\
  97. L40, L41, L42, L43, L44, L46, R40, R41, R42, R43, R44 \
  98. ) \
  99. { \
  100. { L00, L01, L02, L03, L04, L05, L06, L07, KC_NO }, \
  101. { L10, L11, L12, L13, L14, L15, L16, KC_NO, KC_NO }, \
  102. { L20, L21, L22, L23, L24, L25, L26, KC_NO, KC_NO }, \
  103. { L30, L31, L32, L33, L34, L35, L36, KC_NO, KC_NO }, \
  104. { L40, L41, L42, L43, L44, KC_NO, L46, KC_NO, KC_NO }, \
  105. { R00, R01, R02, R03, R04, R05, KC_NO, R07, KC_NO }, \
  106. { R10, R11, R12, R13, R14, R15, R16, R17, KC_NO }, \
  107. { R20, R21, R22, R23, R24, R25, R26, KC_NO, KC_NO }, \
  108. { R30, R31, R32, R33, R34, R35, R36, KC_NO, R38 }, \
  109. { R40, R41, R42, R43, R44, KC_NO, KC_NO, KC_NO, KC_NO } \
  110. }