rev1.h 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. #pragma once
  2. #include "quefrency.h"
  3. #include "quantum.h"
  4. #ifdef USE_I2C
  5. #include <stddef.h>
  6. #ifdef __AVR__
  7. #include <avr/io.h>
  8. #include <avr/interrupt.h>
  9. #endif
  10. #endif
  11. #define LAYOUT( \
  12. LA1, LA2, LA3, LA4, LA5, LA6, LA7, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, \
  13. LB1, LB2, LB3, LB4, LB5, LB6, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, \
  14. LC1, LC2, LC3, LC4, LC5, LC6, RC1, RC2, RC3, RC4, RC5, RC6, RC8, \
  15. LD1, LD3, LD4, LD5, LD6, LD7, RD1, RD2, RD3, RD4, RD6, RD7, RD8, \
  16. LE1, LE2, LE3, LE5, LE7, RE1, RE2, RE4, RE5, RE6, RE7, RE8 \
  17. ) \
  18. { \
  19. { LA1, LA2, LA3, LA4, LA5, LA6, LA7, KC_NO }, \
  20. { LB1, LB2, LB3, LB4, LB5, LB6, KC_NO, KC_NO }, \
  21. { LC1, LC2, LC3, LC4, LC5, LC6, KC_NO, KC_NO }, \
  22. { LD1, KC_NO, LD3, LD4, LD5, LD6, LD7, KC_NO }, \
  23. { LE1, LE2, LE3, KC_NO, LE5, KC_NO, LE7, KC_NO }, \
  24. { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
  25. { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8 }, \
  26. { RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8 }, \
  27. { RC1, RC2, RC3, RC4, RC5, RC6, KC_NO, RC8 }, \
  28. { RD1, RD2, RD3, RD4, KC_NO, RD6, RD7, RD8 }, \
  29. { RE1, RE2, KC_NO, RE4, RE5, RE6, RE7, RE8 }, \
  30. { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO } \
  31. }
  32. #define LAYOUT_65( \
  33. LA1, LA2, LA3, LA4, LA5, LA6, LA7, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, \
  34. LB1, LB2, LB3, LB4, LB5, LB6, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9, \
  35. LC1, LC2, LC3, LC4, LC5, LC6, RC1, RC2, RC3, RC4, RC5, RC6, RC8, RC9, \
  36. LD1, LD3, LD4, LD5, LD6, LD7, RD1, RD2, RD3, RD4, RD6, RD7, RD8, RD9, \
  37. LE1, LE2, LE3, LE5, LE7, RE1, RE2, RE4, RE5, RE6, RE7, RE8, RE9 \
  38. ) \
  39. { \
  40. { LA1, LA2, LA3, LA4, LA5, LA6, LA7, KC_NO }, \
  41. { LB1, LB2, LB3, LB4, LB5, LB6, KC_NO, KC_NO }, \
  42. { LC1, LC2, LC3, LC4, LC5, LC6, KC_NO, KC_NO }, \
  43. { LD1, KC_NO, LD3, LD4, LD5, LD6, LD7, KC_NO }, \
  44. { LE1, LE2, LE3, KC_NO, LE5, KC_NO, LE7, KC_NO }, \
  45. { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
  46. { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8 }, \
  47. { RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8 }, \
  48. { RC1, RC2, RC3, RC4, RC5, RC6, RC9, RC8 }, \
  49. { RD1, RD2, RD3, RD4, RD9, RD6, RD7, RD8 }, \
  50. { RE1, RE2, RE9, RE4, RE5, RE6, RE7, RE8 }, \
  51. { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RA9, RB9 } \
  52. }
  53. #define LAYOUT_60_with_macro( \
  54. LA9, LA8, LA1, LA2, LA3, LA4, LA5, LA6, LA7, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, \
  55. LB9, LB8, LB1, LB2, LB3, LB4, LB5, LB6, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, \
  56. LC9, LC8, LC1, LC2, LC3, LC4, LC5, LC6, RC1, RC2, RC3, RC4, RC5, RC6, RC8, \
  57. LD9, LD8, LD1, LD3, LD4, LD5, LD6, LD7, RD1, RD2, RD3, RD4, RD6, RD7, RD8, \
  58. LE9, LE8, LE1, LE2, LE3, LE5, LE7, RE1, RE2, RE4, RE5, RE6, RE7, RE8 \
  59. ) \
  60. { \
  61. { LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8 }, \
  62. { LB1, LB2, LB3, LB4, LB5, LB6, LB9, LB8 }, \
  63. { LC1, LC2, LC3, LC4, LC5, LC6, LC9, LC8 }, \
  64. { LD1, LD9, LD3, LD4, LD5, LD6, LD7, LD8 }, \
  65. { LE1, LE2, LE3, LA9, LE5, LE9, LE7, LE8 }, \
  66. { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
  67. { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8 }, \
  68. { RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8 }, \
  69. { RC1, RC2, RC3, RC4, RC5, RC6, KC_NO, RC8 }, \
  70. { RD1, RD2, RD3, RD4, KC_NO, RD6, RD7, RD8 }, \
  71. { RE1, RE2, KC_NO, RE4, RE5, RE6, RE7, RE8 }, \
  72. { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO } \
  73. }
  74. #define LAYOUT_65_with_macro( \
  75. LA9, LA8, LA1, LA2, LA3, LA4, LA5, LA6, LA7, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, \
  76. LB9, LB8, LB1, LB2, LB3, LB4, LB5, LB6, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9, \
  77. LC9, LC8, LC1, LC2, LC3, LC4, LC5, LC6, RC1, RC2, RC3, RC4, RC5, RC6, RC8, RC9, \
  78. LD9, LD8, LD1, LD3, LD4, LD5, LD6, LD7, RD1, RD2, RD3, RD4, RD6, RD7, RD8, RD9, \
  79. LE9, LE8, LE1, LE2, LE3, LE5, LE7, RE1, RE2, RE4, RE5, RE6, RE7, RE8, RE9 \
  80. ) \
  81. { \
  82. { LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8 }, \
  83. { LB1, LB2, LB3, LB4, LB5, LB6, LB9, LB8 }, \
  84. { LC1, LC2, LC3, LC4, LC5, LC6, LC9, LC8 }, \
  85. { LD1, LD9, LD3, LD4, LD5, LD6, LD7, LD8 }, \
  86. { LE1, LE2, LE3, LA9, LE5, LE9, LE7, LE8 }, \
  87. { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
  88. { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8 }, \
  89. { RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8 }, \
  90. { RC1, RC2, RC3, RC4, RC5, RC6, RC9, RC8 }, \
  91. { RD1, RD2, RD3, RD4, RD9, RD6, RD7, RD8 }, \
  92. { RE1, RE2, RE9, RE4, RE5, RE6, RE7, RE8 }, \
  93. { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RA9, RB9 } \
  94. }
  95. #define LAYOUT_all( \
  96. LA9, LA8, LA1, LA2, LA3, LA4, LA5, LA6, LA7, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, \
  97. LB9, LB8, LB1, LB2, LB3, LB4, LB5, LB6, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9, \
  98. LC9, LC8, LC1, LC2, LC3, LC4, LC5, LC6, RC1, RC2, RC3, RC4, RC5, RC6, RC7x,RC8, RC9, \
  99. LD9, LD8, LD1, LD2x,LD3, LD4, LD5, LD6, LD7, RD1, RD2, RD3, RD4, RD6, RD7, RD8, RD9, \
  100. LE9, LE8, LE1, LE2, LE3, LE5, LE6x,LE7, RE1, RE2, RE4, RE5, RE6, RE7, RE8, RE9 \
  101. ) \
  102. { \
  103. { LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8 }, \
  104. { LB1, LB2, LB3, LB4, LB5, LB6, LB9, LB8 }, \
  105. { LC1, LC2, LC3, LC4, LC5, LC6, LC9, LC8 }, \
  106. { LD1, LD9, LD3, LD4, LD5, LD6, LD7, LD8 }, \
  107. { LE1, LE2, LE3, LA9, LE5, LE9, LE7, LE8 }, \
  108. { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
  109. { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8 }, \
  110. { RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8 }, \
  111. { RC1, RC2, RC3, RC4, RC5, RC6, RC9, RC8 }, \
  112. { RD1, RD2, RD3, RD4, RD9, RD6, RD7, RD8 }, \
  113. { RE1, RE2, RE9, RE4, RE5, RE6, RE7, RE8 }, \
  114. { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RA9, RB9 } \
  115. }