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.

160 lines
5.3 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. /*
  74. * LEFT HAND: LINES 88-95
  75. * RIGHT HAND: LINES 97-104
  76. */
  77. #define LAYOUT_ergodox( \
  78. A80, A70, A60, A50, A40, A30, A20, \
  79. A81, A71, A61, A51, A41, A31, A21, \
  80. A82, A72, A62, A52, A42, A32, \
  81. A83, A73, A63, A53, A43, A33, A23, \
  82. A84, A74, A64, A54, A44, \
  83. A13, A03, \
  84. A04, \
  85. A34, A24, A14, \
  86. \
  87. B20, B30, B40, B50, B60, B70, B80, \
  88. B21, B31, B41, B51, B61, B71, B81, \
  89. B32, B42, B52, B62, B72, B82, \
  90. B23, B33, B43, B53, B63, B73, B83, \
  91. B44, B54, B64, B74, B84, \
  92. B03, B13, \
  93. B04, \
  94. B14, B24, B34 \
  95. ) { \
  96. { KC_NO, KC_NO, KC_NO, A03, A04 }, \
  97. { KC_NO, KC_NO, KC_NO, A13, A14 }, \
  98. { A20, A21, KC_NO, A23, A24 }, \
  99. { A30, A31, A32, A33, A34 }, \
  100. { A40, A41, A42, A43, A44 }, \
  101. { A50, A51, A52, A53, A54 }, \
  102. { A60, A61, A62, A63, A64 }, \
  103. { A70, A71, A72, A73, A74 }, \
  104. { A80, A81, A82, A83, A84 }, \
  105. { KC_NO, KC_NO, KC_NO, B03, B04 }, \
  106. { KC_NO, KC_NO, KC_NO, B13, B14 }, \
  107. { B20, B21, KC_NO, B23, B24 }, \
  108. { B30, B31, B32, B33, B34 }, \
  109. { B40, B41, B42, B43, B44 }, \
  110. { B50, B51, B52, B53, B54 }, \
  111. { B60, B61, B62, B63, B64 }, \
  112. { B70, B71, B72, B73, B74 }, \
  113. { B80, B81, B82, B83, B84 } \
  114. }
  115. /* -------------- LEFT HAND -------------- -------------- RIGHT HAND -------------- */
  116. #define LAYOUT_ergodox_pretty( \
  117. \
  118. A80, A70, A60, A50, A40, A30, A20, B20, B30, B40, B50, B60, B70, B80, \
  119. A81, A71, A61, A51, A41, A31, A21, B21, B31, B41, B51, B61, B71, B81, \
  120. A82, A72, A62, A52, A42, A32, B32, B42, B52, B62, B72, B82, \
  121. A83, A73, A63, A53, A43, A33, A23, B23, B33, B43, B53, B63, B73, B83, \
  122. A84, A74, A64, A54, A44, B44, B54, B64, B74, B84, \
  123. A13, A03, B03, B13, \
  124. A04, B04, \
  125. A34, A24, A14, B14, B24, B34 ) \
  126. \
  127. /* matrix positions */ \
  128. { \
  129. { KC_NO, KC_NO, KC_NO, A03, A04 }, \
  130. { KC_NO, KC_NO, KC_NO, A13, A14 }, \
  131. { A20, A21, KC_NO, A23, A24 }, \
  132. { A30, A31, A32, A33, A34 }, \
  133. { A40, A41, A42, A43, A44 }, \
  134. { A50, A51, A52, A53, A54 }, \
  135. { A60, A61, A62, A63, A64 }, \
  136. { A70, A71, A72, A73, A74 }, \
  137. { A80, A81, A82, A83, A84 }, \
  138. { KC_NO, KC_NO, KC_NO, B03, B04 }, \
  139. { KC_NO, KC_NO, KC_NO, B13, B14 }, \
  140. { B20, B21, KC_NO, B23, B24 }, \
  141. { B30, B31, B32, B33, B34 }, \
  142. { B40, B41, B42, B43, B44 }, \
  143. { B50, B51, B52, B53, B54 }, \
  144. { B60, B61, B62, B63, B64 }, \
  145. { B70, B71, B72, B73, B74 }, \
  146. { B80, B81, B82, B83, B84 } \
  147. }
  148. #endif /* KEYBOARDS_ERGODOX_INFINITY_INFINITY_H_ */