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.

171 lines
6.4 KiB

  1. /* Copyright 2020 joshajohnson 2021 peepeetee
  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. #include "hub20.h"
  17. #ifdef RGB_MATRIX_ENABLE
  18. led_config_t g_led_config = { {
  19. // Key Matrix to LED Index
  20. {NO_LED,NO_LED,NO_LED,NO_LED},
  21. { 7, 8, 9, 10},
  22. { 11, 12, 13, 14},
  23. { 15, 16, 17, 18},
  24. { 19, 20, 21, 22},
  25. { 23, 24, 25, 26}
  26. //todo: assign leds to keys differently for the different layouts
  27. }, {
  28. // LED Index to Physical Position
  29. { 190, 50}, { 111, 50}, { 35, 50}, {38, 0}, {38, 35}, {186, 35}, {186, 0}, // UNDERGLOW
  30. //todo: underglow location needs to be recalculated. The top row is above row 4, and for now they have the same y value 0
  31. { 0, 0}, {75, 0}, {150, 0}, {225, 0}, // row 4
  32. { 0, 16}, {75, 16}, {150, 16}, {225, 16}, // row 3
  33. { 0, 32}, {75, 32}, {150, 32}, {225, 32}, // row 2
  34. { 0, 48}, {75, 48}, {150, 48}, {225, 48}, // row 1
  35. { 0, 64}, {75, 64}, {150, 64}, {225, 64} // row 0
  36. }, {
  37. // LED Index to Flag
  38. LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, // UNDERGLOW
  39. LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // row 4
  40. LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // row 3
  41. LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // row 2
  42. LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // row 1
  43. LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT // row 0
  44. } };
  45. #endif
  46. // #if LED_MERGE_NUMPAD_LEFT_HANDED_ENTER && LED_MERGE_NUMPAD_RIGHT_HANDED_ZERO
  47. // #error lower left enter conflicts with lower left zero
  48. // #endif
  49. // #if LED_MERGE_NUMPAD_RIGHT_HANDED_ENTER && LED_MERGE_NUMPAD_LEFT_HANDED_ZERO
  50. // #error lower right enter conflicts with lower right zero
  51. // #endif
  52. // /* LAYOUT_left_handed
  53. // * ┌───┬───┐
  54. // * │01 │02 │
  55. // * ┌───┼───┼───┼───┐
  56. // * │10 │11 │12 │13 │
  57. // * ├───┼───┼───┼───┤
  58. // * │ │21 │22 │23 │
  59. // * │20 ├───┼───┼───┤
  60. // * │ │31 │32 │33 │
  61. // * ├───┼───┼───┼───┤
  62. // * │ │41 │42 │43 │
  63. // * │40 ├───┼───┴───┤
  64. // * │ │51 │ 52 │
  65. // * └───┴───┴───────┘
  66. // */
  67. // #ifndef LED_MERGE_NUMPAD_LEFT_HANDED_PLUS //key 20
  68. // #define LED_MERGE_NUMPAD_LEFT_HANDED_PLUS FALSE
  69. // #endif // LED_MERGE_NUMPAD_LEFT_HANDED_PLUS
  70. // #ifndef LED_MERGE_NUMPAD_LEFT_HANDED_ENTER //key 40
  71. // #define LED_MERGE_NUMPAD_LEFT_HANDED_ENTER FALSE
  72. // #endif // LED_MERGE_NUMPAD_LEFT_HANDED_ENTER
  73. // #ifndef LED_MERGE_NUMPAD_LEFT_HANDED_ZERO //key 52
  74. // #define LED_MERGE_NUMPAD_LEFT_HANDED_ZERO FALSE
  75. // #endif // LED_MERGE_NUMPAD_LEFT_HANDED_ZERO
  76. // /* LAYOUT_right_handed
  77. // * ┌───┬───┐
  78. // * │01 │02 │
  79. // * ┌───┼───┼───┼───┐
  80. // * │10 │11 │12 │13 │
  81. // * ├───┼───┼───┼───┤
  82. // * │20 │21 │22 │ │
  83. // * ├───┼───┼───┤23 │
  84. // * │30 │31 │32 │ │
  85. // * ├───┼───┼───┼───┤
  86. // * │40 │41 │42 │ │
  87. // * ├───┴───┼───┤43 │
  88. // * │ 50 │52 │ │
  89. // * └───────┴───┴───┘
  90. // */
  91. // //LOCATION OF bottom row 0 NOT TESTED, WAITING ENDORSEMENT FROM MANUFACTURER
  92. // #ifndef LED_MERGE_NUMPAD_RIGHT_HANDED_PLUS // key 23
  93. // #define LED_MERGE_NUMPAD_RIGHT_HANDED_PLUS FALSE
  94. // #endif // LED_MERGE_NUMPAD_RIGHT_HANDED_PLUS
  95. // #ifndef LED_MERGE_NUMPAD_RIGHT_HANDED_ENTER // key 43
  96. // #define LED_MERGE_NUMPAD_RIGHT_HANDED_ENTER FALSE
  97. // #endif // LED_MERGE_NUMPAD_RIGHT_HANDED_ENTER
  98. // #ifndef LED_MERGE_NUMPAD_RIGHT_HANDED_ZERO // key 50 (confirm with manufacturer)
  99. // #define LED_MERGE_NUMPAD_RIGHT_HANDED_ZERO FALSE
  100. // #endif // LED_MERGE_NUMPAD_RIGHT_HANDED_ZERO
  101. // uint8_t rgb_matrix_map_row_column_to_led_kb(uint8_t row, uint8_t column, uint8_t *led_i) {
  102. // // Keys here have 2 leds. Here we add the led that is not bound to the key
  103. // // and the default led would be added
  104. // // by the default code that runs after this in rgb_matrix_map_row_column_to_led
  105. // uint8_t counter = 0;
  106. // #if LED_MERGE_NUMPAD_LEFT_HANDED_PLUS //key 20, leds 7 and 11, 7 already bound
  107. // if (row == 2 && column == 0) {
  108. // led_i[counter] = 11;
  109. // counter ++;
  110. // }
  111. // #endif
  112. // #if LED_MERGE_NUMPAD_LEFT_HANDED_ENTER //key 40, leds 19 and 23, 23 already bound
  113. // if (row == 4 && column == 0) {
  114. // led_i[counter] = 23;
  115. // counter ++;
  116. // }
  117. // #endif
  118. // #if LED_MERGE_NUMPAD_LEFT_HANDED_ZERO //key 52, leds 25 and 26, 26 already bound
  119. // if (row == 5 && column == 2) {
  120. // led_i[counter] = 26;
  121. // counter ++;
  122. // }
  123. // #endif
  124. // #if LED_MERGE_NUMPAD_RIGHT_HANDED_PLUS // key 23, led 14 and 18, 14 already bound
  125. // if (row == 2 && column == 3) {
  126. // led_i[counter] = 18;
  127. // counter ++;
  128. // }
  129. // #endif
  130. // #if LED_MERGE_NUMPAD_RIGHT_HANDED_ENTER // key 43, led 22 and 26, 22 already bound
  131. // if (row == 4 && column == 3) {
  132. // led_i[counter] = 26;
  133. // counter ++;
  134. // }
  135. // #endif
  136. // #if LED_MERGE_NUMPAD_RIGHT_HANDED_ZERO // key 50 (confirm with manufacturer)
  137. // // LED 23 and 24, 23(?) already bound
  138. // if (row == 5 && column == 0) {
  139. // led_i[counter] = 24;
  140. // counter ++;
  141. // }
  142. // #endif
  143. // return counter;
  144. // }