aboutsummaryrefslogtreecommitdiffstats
path: root/quantum/led_matrix
diff options
context:
space:
mode:
authorPascal Getreuer2025-05-12 01:30:19 +0200
committerGitHub2025-05-12 01:30:19 +0200
commitf4171412a676ae3cbd1cd50e859a7deb1a554e15 (patch)
tree57d1acc2b9f9651b8d82299a3288cbe51b0199cb /quantum/led_matrix
parent7f42a5bc03a3f80d65314c69adb0b1176cf13167 (diff)
Enable community modules to define LED matrix and RGB matrix effects. (#25187)
Co-authored-by: Joel Challis <git@zvecr.com>
Diffstat (limited to 'quantum/led_matrix')
-rw-r--r--quantum/led_matrix/led_matrix.c12
-rw-r--r--quantum/led_matrix/led_matrix.h6
2 files changed, 18 insertions, 0 deletions
diff --git a/quantum/led_matrix/led_matrix.c b/quantum/led_matrix/led_matrix.c
index 00bc199ecf..7a0e8a5ebb 100644
--- a/quantum/led_matrix/led_matrix.c
+++ b/quantum/led_matrix/led_matrix.c
@@ -45,6 +45,9 @@ const led_point_t k_led_matrix_center = LED_MATRIX_CENTER;
#define LED_MATRIX_CUSTOM_EFFECT_IMPLS
#include "led_matrix_effects.inc"
+#ifdef COMMUNITY_MODULES_ENABLE
+# include "led_matrix_community_modules.inc"
+#endif
#ifdef LED_MATRIX_CUSTOM_KB
# include "led_matrix_kb.inc"
#endif
@@ -282,6 +285,15 @@ static void led_task_render(uint8_t effect) {
#include "led_matrix_effects.inc"
#undef LED_MATRIX_EFFECT
+#ifdef COMMUNITY_MODULES_ENABLE
+# define LED_MATRIX_EFFECT(name, ...) \
+ case LED_MATRIX_COMMUNITY_MODULE_##name: \
+ rendering = name(&led_effect_params); \
+ break;
+# include "led_matrix_community_modules.inc"
+# undef LED_MATRIX_EFFECT
+#endif
+
#if defined(LED_MATRIX_CUSTOM_KB) || defined(LED_MATRIX_CUSTOM_USER)
# define LED_MATRIX_EFFECT(name, ...) \
case LED_MATRIX_CUSTOM_##name: \
diff --git a/quantum/led_matrix/led_matrix.h b/quantum/led_matrix/led_matrix.h
index 0006d487e9..0dfe33ffab 100644
--- a/quantum/led_matrix/led_matrix.h
+++ b/quantum/led_matrix/led_matrix.h
@@ -98,6 +98,12 @@ enum led_matrix_effects {
#include "led_matrix_effects.inc"
#undef LED_MATRIX_EFFECT
+#ifdef COMMUNITY_MODULES_ENABLE
+# define LED_MATRIX_EFFECT(name, ...) LED_MATRIX_COMMUNITY_MODULE_##name,
+# include "led_matrix_community_modules.inc"
+# undef LED_MATRIX_EFFECT
+#endif
+
#if defined(LED_MATRIX_CUSTOM_KB) || defined(LED_MATRIX_CUSTOM_USER)
# define LED_MATRIX_EFFECT(name, ...) LED_MATRIX_CUSTOM_##name,
# ifdef LED_MATRIX_CUSTOM_KB