summary refs log tree commit diff
diff options
context:
space:
mode:
authorXScorpion2 <rcalt2vt@gmail.com>2019-04-30 09:55:53 -0500
committerMechMerlin <30334081+mechmerlin@users.noreply.github.com>2019-04-30 07:55:53 -0700
commitbb208f3e3b69fb154f4f78d7538ffa28482f232f (patch)
treee548229efcab7899d2702983d7d49ed11ffa182a
parent483ad4e3e041084977bc128622aa49c637524b77 (diff)
Implement kb function for rgb matrix to led lookup (#5738)
-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) {