aboutsummaryrefslogtreecommitdiff
path: root/users/xulkal/custom_rgb.c
diff options
context:
space:
mode:
Diffstat (limited to 'users/xulkal/custom_rgb.c')
-rw-r--r--users/xulkal/custom_rgb.c64
1 files changed, 64 insertions, 0 deletions
diff --git a/users/xulkal/custom_rgb.c b/users/xulkal/custom_rgb.c
new file mode 100644
index 000000000..11bfad1d7
--- /dev/null
+++ b/users/xulkal/custom_rgb.c
@@ -0,0 +1,64 @@
1#include "custom_rgb.h"
2
3#ifdef RGB_MATRIX_ENABLE
4void rgb_matrix_increase_flags(void)
5{
6 switch (rgb_matrix_get_flags()) {
7 case LED_FLAG_ALL: {
8 rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER);
9 rgb_matrix_set_color_all(0, 0, 0);
10 }
11 break;
12 case LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER: {
13 rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
14 rgb_matrix_set_color_all(0, 0, 0);
15 }
16 break;
17 case LED_FLAG_UNDERGLOW: {
18 rgb_matrix_set_flags(LED_FLAG_NONE);
19 rgb_matrix_disable_noeeprom();
20 }
21 break;
22 default: {
23 rgb_matrix_set_flags(LED_FLAG_ALL);
24 rgb_matrix_enable_noeeprom();
25 }
26 break;
27 }
28}
29
30void rgb_matrix_decrease_flags(void)
31{
32 switch (rgb_matrix_get_flags()) {
33 case LED_FLAG_ALL: {
34 rgb_matrix_set_flags(LED_FLAG_NONE);
35 rgb_matrix_disable_noeeprom();
36 }
37 break;
38 case LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER: {
39 rgb_matrix_set_flags(LED_FLAG_ALL);
40 rgb_matrix_set_color_all(0, 0, 0);
41 }
42 break;
43 case LED_FLAG_UNDERGLOW: {
44 rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER);
45 rgb_matrix_set_color_all(0, 0, 0);
46 }
47 break;
48 default: {
49 rgb_matrix_set_flags(LED_FLAG_UNDERGLOW);
50 rgb_matrix_enable_noeeprom();
51 }
52 break;
53 }
54}
55#endif
56
57void rgb_reset(void) {
58#if defined(RGB_MATRIX_ENABLE)
59 eeconfig_update_rgb_matrix_default();
60#elif defined(RGBLIGHT_ENABLE)
61 eeconfig_update_rgblight_default();
62 rgblight_enable();
63#endif
64}