logo

qmk_firmware

custom branch of QMK firmware git clone https://anongit.hacktivis.me/git/qmk_firmware.git

process_rgb_matrix.c (3199B)


  1. // Copyright 2024 QMK
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #include "process_rgb_matrix.h"
  4. #include "rgb_matrix.h"
  5. #include "action_util.h"
  6. #include "keycodes.h"
  7. #include "modifiers.h"
  8. bool process_rgb_matrix(uint16_t keycode, keyrecord_t *record) {
  9. #ifdef RGB_TRIGGER_ON_KEYDOWN
  10. if (record->event.pressed) {
  11. #else
  12. if (!record->event.pressed) {
  13. #endif
  14. bool shifted = get_mods() & MOD_MASK_SHIFT;
  15. switch (keycode) {
  16. case QK_RGB_MATRIX_ON:
  17. rgb_matrix_enable();
  18. return false;
  19. case QK_RGB_MATRIX_OFF:
  20. rgb_matrix_disable();
  21. return false;
  22. case QK_RGB_MATRIX_TOGGLE:
  23. rgb_matrix_toggle();
  24. return false;
  25. case QK_RGB_MATRIX_MODE_NEXT:
  26. if (shifted) {
  27. rgb_matrix_step_reverse();
  28. } else {
  29. rgb_matrix_step();
  30. }
  31. return false;
  32. case QK_RGB_MATRIX_MODE_PREVIOUS:
  33. if (shifted) {
  34. rgb_matrix_step();
  35. } else {
  36. rgb_matrix_step_reverse();
  37. }
  38. return false;
  39. case QK_RGB_MATRIX_HUE_UP:
  40. if (shifted) {
  41. rgb_matrix_decrease_hue();
  42. } else {
  43. rgb_matrix_increase_hue();
  44. }
  45. return false;
  46. case QK_RGB_MATRIX_HUE_DOWN:
  47. if (shifted) {
  48. rgb_matrix_increase_hue();
  49. } else {
  50. rgb_matrix_decrease_hue();
  51. }
  52. return false;
  53. case QK_RGB_MATRIX_SATURATION_UP:
  54. if (shifted) {
  55. rgb_matrix_decrease_sat();
  56. } else {
  57. rgb_matrix_increase_sat();
  58. }
  59. return false;
  60. case QK_RGB_MATRIX_SATURATION_DOWN:
  61. if (shifted) {
  62. rgb_matrix_increase_sat();
  63. } else {
  64. rgb_matrix_decrease_sat();
  65. }
  66. return false;
  67. case QK_RGB_MATRIX_VALUE_UP:
  68. if (shifted) {
  69. rgb_matrix_decrease_val();
  70. } else {
  71. rgb_matrix_increase_val();
  72. }
  73. return false;
  74. case QK_RGB_MATRIX_VALUE_DOWN:
  75. if (shifted) {
  76. rgb_matrix_increase_val();
  77. } else {
  78. rgb_matrix_decrease_val();
  79. }
  80. return false;
  81. case QK_RGB_MATRIX_SPEED_UP:
  82. if (shifted) {
  83. rgb_matrix_decrease_speed();
  84. } else {
  85. rgb_matrix_increase_speed();
  86. }
  87. return false;
  88. case QK_RGB_MATRIX_SPEED_DOWN:
  89. if (shifted) {
  90. rgb_matrix_increase_speed();
  91. } else {
  92. rgb_matrix_decrease_speed();
  93. }
  94. return false;
  95. }
  96. }
  97. return true;
  98. }