You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

164 lines
5.4 KiB

  1. #ifndef KEYBOARDS_ERGODOX_INFINITY_INFINITY_H_
  2. #define KEYBOARDS_ERGODOX_INFINITY_INFINITY_H_
  3. #include "quantum.h"
  4. void ergodox_board_led_on(void);
  5. void ergodox_right_led_1_on(void);
  6. void ergodox_right_led_2_on(void);
  7. void ergodox_right_led_3_on(void);
  8. inline void ergodox_right_led_on(uint8_t led) {
  9. switch (led) {
  10. case 0:
  11. ergodox_right_led_1_on();
  12. break;
  13. case 1:
  14. ergodox_right_led_2_on();
  15. break;
  16. case 2:
  17. ergodox_right_led_3_on();
  18. break;
  19. }
  20. }
  21. void ergodox_board_led_off(void);
  22. void ergodox_right_led_1_off(void);
  23. void ergodox_right_led_2_off(void);
  24. void ergodox_right_led_3_off(void);
  25. inline void ergodox_right_led_off(uint8_t led) {
  26. switch (led) {
  27. case 0:
  28. ergodox_right_led_1_off();
  29. break;
  30. case 1:
  31. ergodox_right_led_2_off();
  32. break;
  33. case 2:
  34. ergodox_right_led_3_off();
  35. break;
  36. }
  37. }
  38. inline void ergodox_led_all_on(void)
  39. {
  40. ergodox_board_led_on();
  41. ergodox_right_led_1_on();
  42. ergodox_right_led_2_on();
  43. ergodox_right_led_3_on();
  44. }
  45. inline void ergodox_led_all_off(void)
  46. {
  47. ergodox_board_led_off();
  48. ergodox_right_led_1_off();
  49. ergodox_right_led_2_off();
  50. ergodox_right_led_3_off();
  51. }
  52. void ergodox_right_led_1_set(uint8_t n);
  53. void ergodox_right_led_2_set(uint8_t n);
  54. void ergodox_right_led_3_set(uint8_t n);
  55. inline void ergodox_right_led_set(uint8_t led, uint8_t n){
  56. switch (led) {
  57. case 0:
  58. ergodox_right_led_1_set(n);
  59. break;
  60. case 1:
  61. ergodox_right_led_2_set(n);
  62. break;
  63. case 2:
  64. ergodox_right_led_3_set(n);
  65. break;
  66. }
  67. }
  68. inline void ergodox_led_all_set(uint8_t n) {
  69. ergodox_right_led_1_set(n);
  70. ergodox_right_led_2_set(n);
  71. ergodox_right_led_3_set(n);
  72. }
  73. #ifndef VISUALIZER_ENABLE
  74. void ergodox_infinity_lcd_color(uint16_t r, uint16_t g, uint16_t b);
  75. #endif
  76. /*
  77. * LEFT HAND: LINES 88-95
  78. * RIGHT HAND: LINES 97-104
  79. */
  80. #define LAYOUT_ergodox( \
  81. A80, A70, A60, A50, A40, A30, A20, \
  82. A81, A71, A61, A51, A41, A31, A21, \
  83. A82, A72, A62, A52, A42, A32, \
  84. A83, A73, A63, A53, A43, A33, A23, \
  85. A84, A74, A64, A54, A44, \
  86. A13, A03, \
  87. A04, \
  88. A34, A24, A14, \
  89. \
  90. B20, B30, B40, B50, B60, B70, B80, \
  91. B21, B31, B41, B51, B61, B71, B81, \
  92. B32, B42, B52, B62, B72, B82, \
  93. B23, B33, B43, B53, B63, B73, B83, \
  94. B44, B54, B64, B74, B84, \
  95. B03, B13, \
  96. B04, \
  97. B14, B24, B34 \
  98. ) { \
  99. { KC_NO, KC_NO, KC_NO, A03, A04 }, \
  100. { KC_NO, KC_NO, KC_NO, A13, A14 }, \
  101. { A20, A21, KC_NO, A23, A24 }, \
  102. { A30, A31, A32, A33, A34 }, \
  103. { A40, A41, A42, A43, A44 }, \
  104. { A50, A51, A52, A53, A54 }, \
  105. { A60, A61, A62, A63, A64 }, \
  106. { A70, A71, A72, A73, A74 }, \
  107. { A80, A81, A82, A83, A84 }, \
  108. { KC_NO, KC_NO, KC_NO, B03, B04 }, \
  109. { KC_NO, KC_NO, KC_NO, B13, B14 }, \
  110. { B20, B21, KC_NO, B23, B24 }, \
  111. { B30, B31, B32, B33, B34 }, \
  112. { B40, B41, B42, B43, B44 }, \
  113. { B50, B51, B52, B53, B54 }, \
  114. { B60, B61, B62, B63, B64 }, \
  115. { B70, B71, B72, B73, B74 }, \
  116. { B80, B81, B82, B83, B84 } \
  117. }
  118. /* -------------- LEFT HAND -------------- -------------- RIGHT HAND -------------- */
  119. #define LAYOUT_ergodox_pretty( \
  120. \
  121. A80, A70, A60, A50, A40, A30, A20, B20, B30, B40, B50, B60, B70, B80, \
  122. A81, A71, A61, A51, A41, A31, A21, B21, B31, B41, B51, B61, B71, B81, \
  123. A82, A72, A62, A52, A42, A32, B32, B42, B52, B62, B72, B82, \
  124. A83, A73, A63, A53, A43, A33, A23, B23, B33, B43, B53, B63, B73, B83, \
  125. A84, A74, A64, A54, A44, B44, B54, B64, B74, B84, \
  126. A13, A03, B03, B13, \
  127. A04, B04, \
  128. A34, A24, A14, B14, B24, B34 ) \
  129. \
  130. /* matrix positions */ \
  131. { \
  132. { KC_NO, KC_NO, KC_NO, A03, A04 }, \
  133. { KC_NO, KC_NO, KC_NO, A13, A14 }, \
  134. { A20, A21, KC_NO, A23, A24 }, \
  135. { A30, A31, A32, A33, A34 }, \
  136. { A40, A41, A42, A43, A44 }, \
  137. { A50, A51, A52, A53, A54 }, \
  138. { A60, A61, A62, A63, A64 }, \
  139. { A70, A71, A72, A73, A74 }, \
  140. { A80, A81, A82, A83, A84 }, \
  141. { KC_NO, KC_NO, KC_NO, B03, B04 }, \
  142. { KC_NO, KC_NO, KC_NO, B13, B14 }, \
  143. { B20, B21, KC_NO, B23, B24 }, \
  144. { B30, B31, B32, B33, B34 }, \
  145. { B40, B41, B42, B43, B44 }, \
  146. { B50, B51, B52, B53, B54 }, \
  147. { B60, B61, B62, B63, B64 }, \
  148. { B70, B71, B72, B73, B74 }, \
  149. { B80, B81, B82, B83, B84 } \
  150. }
  151. #endif /* KEYBOARDS_ERGODOX_INFINITY_INFINITY_H_ */