summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--keyboards/sol/sol.c19
-rw-r--r--quantum/rgb_matrix.c7
2 files changed, 25 insertions, 1 deletions
diff --git a/keyboards/sol/sol.c b/keyboards/sol/sol.c
index 5945cc60a4..a65d4c15fc 100644
--- a/keyboards/sol/sol.c
+++ b/keyboards/sol/sol.c
@@ -1 +1,20 @@
#include "sol.h"
+
+#if defined(RGB_MATRIX_ENABLE)
+uint8_t rgb_matrix_map_row_column_to_led_kb(uint8_t row, uint8_t column, uint8_t *led_i) {
+ if (row == 4 && column == 5) {
+ led_i[0] = 33;
+ return 1;
+ } else if (row == 4 && column == 6) {
+ led_i[0] = 34;
+ return 1;
+ } else if (row == 10 && column == 5) {
+ led_i[0] = 68;
+ return 1;
+ } else if (row == 10 && column == 6) {
+ led_i[0] = 69;
+ return 1;
+ }
+ return 0;
+}
+#endif
diff --git a/quantum/rgb_matrix.c b/quantum/rgb_matrix.c
index 8c16c7790e..5528a08347 100644
--- a/quantum/rgb_matrix.c
+++ b/quantum/rgb_matrix.c
@@ -144,9 +144,14 @@ void eeconfig_debug_rgb_matrix(void) {
dprintf("rgb_matrix_config.speed = %d\n", rgb_matrix_config.speed);
}
+__attribute__ ((weak))
+uint8_t rgb_matrix_map_row_column_to_led_kb(uint8_t row, uint8_t column, uint8_t *led_i) {
+ return 0;
+}
+
uint8_t rgb_matrix_map_row_column_to_led(uint8_t row, uint8_t column, uint8_t *led_i) {
// TODO: This is kinda expensive, fix this soonish
- uint8_t led_count = 0;
+ uint8_t led_count = rgb_matrix_map_row_column_to_led_kb(row, column, led_i);
for (uint8_t i = 0; i < DRIVER_LED_TOTAL && led_count < LED_HITS_TO_REMEMBER; i++) {
matrix_co_t matrix_co = g_rgb_leds[i].matrix_co;
if (row == matrix_co.row && column == matrix_co.col) {