summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/keymaps/soispha/led/ledlayout.h76
-rw-r--r--src/keymaps/soispha/led/ledmap.h16
-rw-r--r--src/keymaps/soispha/led/rgb.c65
-rw-r--r--src/keymaps/soispha/led/translation.h10
-rw-r--r--src/keymaps/soispha/rgb.c227
-rw-r--r--src/keymaps/soispha/rules.mk2
6 files changed, 168 insertions, 228 deletions
diff --git a/src/keymaps/soispha/led/ledlayout.h b/src/keymaps/soispha/led/ledlayout.h
new file mode 100644
index 0000000..0ce994b
--- /dev/null
+++ b/src/keymaps/soispha/led/ledlayout.h
@@ -0,0 +1,76 @@
+// clang-format off
+const uint8_t PROGMEM ledmap[][RGB_MATRIX_LED_COUNT][3] = {
+ /* Dvorak */
+ [0] = {
+ RED, RED, RED, RED, RED, RED, RED, RED, RED, RED, RED, RED, RED, RED,
+ GREEN, ORANGE, ORANGE, ORANGE, ORANGE, ORANGE, ORANGE, ORANGE, ORANGE, ORANGE, ORANGE, ORANGE, ORANGE, GREEN,
+ GREEN, GREEN, GREEN, GREEN, YELLOW, GREEN, ORANGE, ORANGE, GREEN, YELLOW, GREEN, GREEN, GREEN, GREEN,
+ BLUE, BLUE, BLUE, BLUE, BLUE, BLUE, BLUE, BLUE, BLUE, BLUE, BLUE, BLUE,
+ PURPLE, PURPLE, PURPLE, PURPLE, PURPLE, OFF, OFF, PURPLE, PURPLE, PURPLE, PURPLE, BLUE,
+ ASSASSINS_RED, ASSASSINS_RED, ASSASSINS_RED, ASSASSINS_RED, ASSASSINS_RED, ASSASSINS_RED
+ },
+ /* Modifier */
+ [1] = {
+ OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF,
+ OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF,
+ OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF,
+ OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF,
+ OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF,
+ ASSASSINS_RED, ASSASSINS_RED, ASSASSINS_RED, ASSASSINS_RED, ASSASSINS_RED, BRAIN_FREEZE
+ },
+ /* Symbols */
+ [2] = {
+ OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF,
+ OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF,
+ OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF,
+ OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF,
+ OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF,
+ BRAIN_FREEZE, ASSASSINS_RED, ASSASSINS_RED, ASSASSINS_RED, ASSASSINS_RED, ASSASSINS_RED
+ },
+ /* Numbers */
+ [3] = {
+ OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF,
+ OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF,
+ OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF,
+ OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF,
+ OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF,
+ ASSASSINS_RED, BRAIN_FREEZE, ASSASSINS_RED, ASSASSINS_RED, ASSASSINS_RED, ASSASSINS_RED
+ },
+ /* Media */
+ [4] = {
+ OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF,
+ BRAIN_FREEZE, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, BRAIN_FREEZE,
+ OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF,
+ OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF,
+ OFF, OFF, OFF, OFF, OFF, ASSASSINS_RED, ASSASSINS_RED, OFF, OFF, OFF, OFF, OFF,
+ ASSASSINS_RED, ASSASSINS_RED, ASSASSINS_RED, ASSASSINS_RED, ASSASSINS_RED, ASSASSINS_RED
+ },
+ /* German characters */
+ [5] = {
+ OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF,
+ OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF,
+ BRAIN_FREEZE, PURPLE, PURPLE, OFF, PURPLE, OFF, OFF, OFF, OFF, PURPLE, OFF, PURPLE, PURPLE, BRAIN_FREEZE,
+ OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF,
+ OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF,
+ OFF, OFF, OFF, OFF, OFF, OFF
+ },
+ /* Swedish characters */
+ [6] = {
+ OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF,
+ OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF,
+ OFF, PURPLE, OFF, OFF, OFF, OFF, BRAIN_FREEZE, BRAIN_FREEZE, OFF, OFF, OFF, OFF, PURPLE, OFF,
+ OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF,
+ OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF,
+ OFF, OFF, OFF, OFF, OFF, OFF
+ },
+ /* Special characters */
+ [7] = {
+ OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF,
+ OFF, OFF, OFF, BRAIN_FREEZE, OFF, OFF, OFF, OFF, OFF, OFF, BRAIN_FREEZE, OFF, OFF, OFF,
+ OFF, PURPLE, OFF, OFF, PURPLE, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF,
+ OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF,
+ OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF, OFF,
+ OFF, OFF, OFF, OFF, OFF, OFF
+ },
+};
+// clang-format on
diff --git a/src/keymaps/soispha/led/ledmap.h b/src/keymaps/soispha/led/ledmap.h
new file mode 100644
index 0000000..c2d1847
--- /dev/null
+++ b/src/keymaps/soispha/led/ledmap.h
@@ -0,0 +1,16 @@
+#pragma once
+
+#define hsv(H, S, V) {H, S, V}
+
+#define OFF hsv(0, 0, 0) // 0x000000
+#define RED hsv(0, 255, 255) // 0xFF0000
+#define ORANGE hsv(27, 255, 255) // 0xFFA500
+#define GREEN hsv(85,255,128) // 0x008000
+#define YELLOW hsv(42,255,255) // 0xFFFF00
+#define BLUE hsv(170,255,255) // 0x0000FF
+#define PURPLE hsv(212,255,128) // 0x800080
+#define ASSASSINS_RED hsv(0,245,245) // 0xF50909
+#define BRAIN_FREEZE hsv(130,255,255) // 0x00F0FF
+
+#include "ledlayout.h"
+#include "translation.h"
diff --git a/src/keymaps/soispha/led/rgb.c b/src/keymaps/soispha/led/rgb.c
new file mode 100644
index 0000000..13ab60f
--- /dev/null
+++ b/src/keymaps/soispha/led/rgb.c
@@ -0,0 +1,65 @@
+#include QMK_KEYBOARD_H
+
+#include "ledmap.h"
+#define MOON_LED_LEVEL LED_LEVEL
+
+extern rgb_config_t rgb_matrix_config;
+
+void keyboard_post_init_user(void) {
+ rgb_matrix_enable();
+}
+
+void set_layer_color(int layer) {
+ int n = sizeof(ledmap[layer]) / sizeof(*ledmap[layer]);
+
+ for (int i = 0; i < n; i++) {
+ /* The rgb index is counted from top to bottom, e.g.:
+ * 0 4
+ * 1 5
+ * 2 6
+ * 3 7 ..
+ *
+ * But we have an index (`i`) which counts from left to right, e.g.:
+ * 0 1 2 3
+ * 4 5 6 7
+ * ..
+ *
+ * Thus we use an translation table for the conversions (`i` -> `rgb_i`).
+ */
+ int rgb_i = translation[i];
+
+ HSV hsv = {
+ .h = pgm_read_byte(&ledmap[layer][i][0]),
+ .s = pgm_read_byte(&ledmap[layer][i][1]),
+ .v = pgm_read_byte(&ledmap[layer][i][2]),
+ };
+
+ if (!hsv.h && !hsv.s && !hsv.v) {
+ rgb_matrix_set_color(rgb_i, 0, 0, 0);
+ } else {
+ RGB rgb = hsv_to_rgb(hsv);
+ float f = (float)rgb_matrix_config.hsv.v / UINT8_MAX;
+ rgb_matrix_set_color(rgb_i, f * rgb.r, f * rgb.g, f * rgb.b);
+ }
+ }
+}
+
+/* Callback. Is called once every time a new “frame” is rendered */
+bool rgb_matrix_indicators_user(void) {
+ if (keyboard_config.disable_layer_led) {
+ return false;
+ }
+
+ int layer = biton32(layer_state);
+ int defined_layer = sizeof(ledmap) / sizeof(*ledmap);
+
+ if (layer <= (defined_layer - 1)) {
+ set_layer_color(layer);
+ } else {
+ if (rgb_matrix_get_flags() == LED_FLAG_NONE) {
+ rgb_matrix_set_color_all(0, 0, 0);
+ }
+ }
+
+ return true;
+}
diff --git a/src/keymaps/soispha/led/translation.h b/src/keymaps/soispha/led/translation.h
new file mode 100644
index 0000000..0140b79
--- /dev/null
+++ b/src/keymaps/soispha/led/translation.h
@@ -0,0 +1,10 @@
+// clang-format off
+const uint8_t translation[RGB_MATRIX_LED_COUNT] = {
+ 0, 5, 10, 15, 20, 25, 29, 65, 61, 56, 51, 46, 41, 36,
+ 1, 6, 11, 16, 21, 26, 30, 66, 62, 57, 52, 47, 42, 37,
+ 2, 7, 12, 17, 22, 27, 31, 67, 63, 58, 53, 48, 43, 38,
+ 3, 8, 13, 18, 23, 28, 64, 59, 54, 49, 44, 39,
+ 4, 9, 14, 19, 24, 35, 71, 60, 55, 50, 45, 39,
+ 32, 33, 34, 70, 69, 68
+};
+// clang-format on
diff --git a/src/keymaps/soispha/rgb.c b/src/keymaps/soispha/rgb.c
deleted file mode 100644
index 183296e..0000000
--- a/src/keymaps/soispha/rgb.c
+++ /dev/null
@@ -1,227 +0,0 @@
-#include QMK_KEYBOARD_H
-#define MOON_LED_LEVEL LED_LEVEL
-
-extern rgb_config_t rgb_matrix_config;
-
-void keyboard_post_init_user(void) { rgb_matrix_enable(); }
-
-// clang-format off
-const uint8_t PROGMEM ledmap[][RGB_MATRIX_LED_COUNT][3] = {
- [0] = {{0, 255, 255}, {86, 255, 128}, {86, 255, 128}, {172, 255, 255},
- {215, 255, 128}, {0, 255, 255}, {27, 255, 255}, {86, 255, 128},
- {172, 255, 255}, {215, 255, 128}, {0, 255, 255}, {27, 255, 255},
- {86, 255, 128}, {172, 255, 255}, {215, 255, 128}, {0, 255, 255},
- {27, 255, 255}, {86, 255, 128}, {172, 255, 255}, {215, 255, 128},
- {0, 255, 255}, {27, 255, 255}, {43, 255, 255}, {172, 255, 255},
- {215, 255, 128}, {0, 255, 255}, {27, 255, 255}, {86, 255, 128},
- {172, 255, 255}, {0, 255, 255}, {27, 255, 255}, {27, 255, 255},
- {0, 245, 245}, {0, 245, 245}, {0, 245, 245}, {0, 0, 0},
- {0, 255, 255}, {86, 255, 128}, {86, 255, 128}, {172, 255, 255},
- {215, 255, 128}, {0, 255, 255}, {27, 255, 255}, {86, 255, 128},
- {172, 255, 255}, {215, 255, 128}, {0, 255, 255}, {27, 255, 255},
- {86, 255, 128}, {172, 255, 255}, {215, 255, 128}, {0, 255, 255},
- {27, 255, 255}, {86, 255, 128}, {172, 255, 255}, {215, 255, 128},
- {0, 255, 255}, {27, 255, 255}, {43, 255, 255}, {172, 255, 255},
- {215, 255, 128}, {0, 255, 255}, {27, 255, 255}, {86, 255, 128},
- {172, 255, 255}, {0, 255, 255}, {27, 255, 255}, {27, 255, 255},
- {0, 245, 245}, {0, 245, 245}, {0, 245, 245}, {0, 0, 0}},
-
- [1] = {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 245, 245}, {0, 245, 245}, {0, 245, 245}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 245, 245}, {131, 255, 255}, {0, 245, 245}, {0, 0, 0}},
-
- [2] = {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 245, 245}, {0, 245, 245}, {0, 245, 245}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {131, 255, 255}, {0, 245, 245}, {0, 245, 245}, {0, 0, 0}},
-
- [3] = {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {131, 255, 255}, {0, 245, 245}, {0, 245, 245}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 245, 245}, {0, 245, 245}, {0, 245, 245}, {0, 0, 0}},
-
- [4] = {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 245, 245}, {131, 255, 255}, {0, 245, 245}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 245, 245}, {0, 245, 245}, {0, 245, 245}, {0, 0, 0}},
-
- [5] = {{0, 0, 0}, {131, 255, 255}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 245, 245}, {0, 245, 245}, {0, 245, 245}, {0, 245, 245},
- {0, 0, 0}, {131, 255, 255}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 245, 245}, {0, 245, 245}, {0, 245, 245}, {0, 245, 245}},
-
- [6] = {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 245, 245}, {0, 245, 245}, {131, 255, 255}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 245, 245}, {0, 245, 245}, {0, 245, 245}, {0, 0, 0}},
-
- [7] = {{0, 0, 0}, {0, 0, 0}, {131, 255, 255}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {215, 255, 128}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {215, 255, 128}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {215, 255, 128}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {131, 255, 255}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {215, 255, 128}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {215, 255, 128}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {215, 255, 128}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}},
-
- [8] = {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {215, 255, 128},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {131, 255, 255},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {215, 255, 128},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {131, 255, 255},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}},
-
- [9] = {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {131, 255, 255}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {131, 255, 255}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0}, {0, 0, 0},
- {0, 0, 0}, {0, 0, 0}},
-};
-// clang-format on
-
-void set_layer_color(int layer) {
- for (int i = 0; i < RGB_MATRIX_LED_COUNT; i++) {
- HSV hsv = {
- .h = pgm_read_byte(&ledmap[layer][i][0]),
- .s = pgm_read_byte(&ledmap[layer][i][1]),
- .v = pgm_read_byte(&ledmap[layer][i][2]),
- };
- if (!hsv.h && !hsv.s && !hsv.v) {
- rgb_matrix_set_color(i, 0, 0, 0);
- } else {
- RGB rgb = hsv_to_rgb(hsv);
- float f = (float)rgb_matrix_config.hsv.v / UINT8_MAX;
- rgb_matrix_set_color(i, f * rgb.r, f * rgb.g, f * rgb.b);
- }
- }
-}
-
-bool rgb_matrix_indicators_user(void) {
- if (keyboard_config.disable_layer_led) {
- return false;
- }
-
- int layer = biton32(layer_state);
- if (layer <= 9) {
- set_layer_color(layer);
- } else {
- if (rgb_matrix_get_flags() == LED_FLAG_NONE) {
- rgb_matrix_set_color_all(0, 0, 0);
- }
- }
- return true;
-}
diff --git a/src/keymaps/soispha/rules.mk b/src/keymaps/soispha/rules.mk
index 27610b4..ddf9ccc 100644
--- a/src/keymaps/soispha/rules.mk
+++ b/src/keymaps/soispha/rules.mk
@@ -30,4 +30,4 @@ RAW_ENABLE = yes
# LTO_ENABLE = yes
-SRC += rgb.c hid/hid.c
+SRC += led/rgb.c hid/hid.c