rgb.c 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. /* Copyright 2019 MechMerlin
  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 "rgb.h"
  17. #include "rgb_matrix_types.h"
  18. // Optional override functions below.
  19. // You can leave any or all of these undefined.
  20. // These are only required if you want to perform custom actions.
  21. void matrix_init_kb(void) {
  22. // put your keyboard start-up code here
  23. // runs once when the firmware starts up
  24. setPinOutput(E6);
  25. matrix_init_user();
  26. }
  27. void matrix_scan_kb(void) {
  28. // put your looping keyboard code here
  29. // runs every cycle (a lot)
  30. matrix_scan_user();
  31. }
  32. bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
  33. // put your per-action keyboard code here
  34. // runs for every action, just before processing by the firmware
  35. return process_record_user(keycode, record);
  36. }
  37. void led_set_kb(uint8_t usb_led) {
  38. // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
  39. if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
  40. writePinLow(E6);
  41. } else {
  42. writePinHigh(E6);
  43. }
  44. led_set_user(usb_led);
  45. }
  46. led_config_t g_led_config = { {
  47. { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 },
  48. { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 },
  49. { 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, NO_LED, 42, 43 },
  50. { 44, NO_LED, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 },
  51. { 58, 59, 60, 61, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 62, 63, NO_LED, 64, 65, 66 }
  52. }, {
  53. // Esc, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, Backspace, Ins
  54. { 0, 0 }, { 15, 0 }, { 30, 0 }, { 45, 0 }, { 60, 0 }, { 75, 0 }, { 90, 0 }, { 105, 0 }, { 120, 0 }, { 135, 0 }, { 150, 0 }, { 165, 0 }, { 180, 0 }, { 202, 0 }, { 225, 0 },
  55. // Tab, Q, W, E, R, T, Y, U, I, O, P, [, ], , Del
  56. { 7, 16 }, { 22, 16 }, { 37, 16 }, { 52, 16 }, { 67, 16 }, { 82, 16 }, { 97, 16 }, { 112, 16 }, { 127, 16 }, { 142, 16 }, { 157, 16 }, { 172, 16 }, { 187, 16 }, { 206, 16 }, { 225, 16 },
  57. // Capslock, A, S, D, F, G, H, J, K, L, ;, ', Enter, Pgup
  58. { 11, 32 }, { 26, 32 }, { 41, 32 }, { 56, 32 }, { 71, 32 }, { 86, 32 }, { 101, 32 }, { 116, 32 }, { 131, 32 }, { 146, 32 }, { 161, 32 }, { 176, 32 }, { 198, 32 }, { 225, 32 },
  59. // LShift, Z, X, C, V, B, N, M, ,, ., /, Shift, Up, Pgdn
  60. { 18, 48 }, { 30, 48 }, { 45, 48 }, { 60, 48 }, { 75, 48 }, { 90, 48 }, { 105, 48 }, { 120, 48 }, { 135, 48 }, { 150, 48 }, { 165, 48 }, { 191, 48 }, { 210, 48 }, { 225, 48 },
  61. // Ctrl, GUI, Alt, Space, RAlt, FN, Left, Down, Right
  62. { 3, 64 }, { 22, 64 }, { 33, 64 }, { 101, 64 }, { 135, 64 }, { 153, 64 }, { 195, 64 }, { 210, 64 }, { 225, 64 }
  63. }, {
  64. // Esc, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, Backspace, Ins
  65. 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
  66. // Tab, Q, W, E, R, T, Y, U, I, O, P, [, ], , Del
  67. 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
  68. // Capslock, A, S, D, F, G, H, J, K, L, ;, ', Enter, Pgup
  69. 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
  70. // LShift, Z, X, C, V, B, N, M, ,, ., /, Shift, Up, Pgdn
  71. 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1,
  72. // Ctrl, GUI, Alt, Space, RAlt, FN, Left, Down, Right
  73. 1, 1, 1, 4, 1, 1, 1, 1, 1
  74. } };