aboutsummaryrefslogtreecommitdiffstats
path: root/keyboards/crkbd/rev1
diff options
context:
space:
mode:
authorGravatar Drashna Jaelre <drashna@live.com>2019-10-28 16:29:00 -0700
committerGravatar noroadsleft <18669334+noroadsleft@users.noreply.github.com>2019-10-28 16:29:00 -0700
commit947e61eaebf168c0c60be34914141cff9a69e599 (patch)
tree9f79e56fd2c3df5ba3345c8a9b6dc15c109ab065 /keyboards/crkbd/rev1
parenta0964532594958c06a5f39900a59dd04201a2eee (diff)
downloadqmk_firmware-947e61eaebf168c0c60be34914141cff9a69e599.tar.gz
[Keyboard] Change Corne RGB Matrix split handling (#7117)
* [Keyboard] Change Corne RGB Matrix split handling This uses the "is_master" detection to set the led matrix, rather than a define at compile time. This means that the same hex can be used for both halves, not just one or the other. The caveat is that this costs ~240 bytes to do. However, I feel that this is a good trade-off, not just lazy. * Update documentation for RGB Matrix on the Corne
Diffstat (limited to 'keyboards/crkbd/rev1')
-rw-r--r--keyboards/crkbd/rev1/rev1.c71
1 files changed, 39 insertions, 32 deletions
diff --git a/keyboards/crkbd/rev1/rev1.c b/keyboards/crkbd/rev1/rev1.c
index 9568d8008..b26292af5 100644
--- a/keyboards/crkbd/rev1/rev1.c
+++ b/keyboards/crkbd/rev1/rev1.c
@@ -1,6 +1,5 @@
#include "crkbd.h"
-
#ifdef RGB_MATRIX_ENABLE
// Logical Layout
@@ -39,37 +38,6 @@
// 05 06 06 05
// 15 14 07 07 14 15 3
-
-#ifdef RGB_MATRIX_SPLIT_RIGHT
-led_config_t g_led_config = { {
- { 51, 50, 45, 44, 37, 36 },
- { 52, 49, 46, 43, 38, 35 },
- { 53, 48, 47, 42, 39, 34 },
- { NO_LED, NO_LED, NO_LED, 41, 40, 33 },
- { 24, 23, 18, 17, 10, 9 },
- { 25, 22, 19, 16, 11, 8 },
- { 26, 21, 20, 15, 12, 7 },
- { NO_LED, NO_LED, NO_LED, 14, 13, 6 }
-}, {
- { 139, 16 }, { 174, 13 }, { 208, 20 }, { 208, 38 }, { 174, 48 }, { 139, 52 }, { 129, 63 },
- { 139, 39 }, { 139, 21 }, { 139, 4 }, { 156, 2 }, { 156, 19 }, { 156, 37 }, { 144, 58 },
- { 164, 55 }, { 174, 35 }, { 174, 13 }, { 174, 0 }, { 191, 3 }, { 191, 20 }, { 191, 37 },
- { 208, 42 }, { 208, 24 }, { 208, 7 }, { 224, 7 }, { 224, 24 }, { 224, 41 }, { 85, 16 },
- { 50, 13 }, { 16, 20 }, { 16, 38 }, { 50, 48 }, { 85, 52 }, { 95, 63 }, { 85, 39 },
- { 85, 21 }, { 85, 4 }, { 68, 2 }, { 68, 19 }, { 68, 37 }, { 80, 58 }, { 60, 55 },
- { 50, 35 }, { 50, 13 }, { 50, 0 }, { 33, 3 }, { 33, 20 }, { 33, 37 }, { 16, 42 },
- { 16, 24 }, { 16, 7 }, { 0, 7 }, { 0, 24 }, { 0, 41 }
-}, {
- 2, 2, 2, 2, 2, 2, 1,
- 4, 4, 4, 4, 4, 4, 1,
- 1, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 1, 1, 1, 2,
- 2, 2, 2, 2, 2, 1, 4,
- 4, 4, 4, 4, 4, 1, 1,
- 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 1, 1, 1
-} };
-#else
led_config_t g_led_config = { {
{ 24, 23, 18, 17, 10, 9 },
{ 25, 22, 19, 16, 11, 8 },
@@ -99,4 +67,43 @@ led_config_t g_led_config = { {
4, 4, 1, 1, 1
} };
#endif
+
+__attribute__((weak))
+void matrix_init_user(void) {}
+
+void matrix_init_kb(void) {
+
+#ifdef RGB_MATRIX_ENABLE
+ if (!isLeftHand) {
+ g_led_config = (led_config_t){ {
+ { 51, 50, 45, 44, 37, 36 },
+ { 52, 49, 46, 43, 38, 35 },
+ { 53, 48, 47, 42, 39, 34 },
+ { NO_LED, NO_LED, NO_LED, 41, 40, 33 },
+ { 24, 23, 18, 17, 10, 9 },
+ { 25, 22, 19, 16, 11, 8 },
+ { 26, 21, 20, 15, 12, 7 },
+ { NO_LED, NO_LED, NO_LED, 14, 13, 6 }
+ }, {
+ { 139, 16 }, { 174, 13 }, { 208, 20 }, { 208, 38 }, { 174, 48 }, { 139, 52 }, { 129, 63 },
+ { 139, 39 }, { 139, 21 }, { 139, 4 }, { 156, 2 }, { 156, 19 }, { 156, 37 }, { 144, 58 },
+ { 164, 55 }, { 174, 35 }, { 174, 13 }, { 174, 0 }, { 191, 3 }, { 191, 20 }, { 191, 37 },
+ { 208, 42 }, { 208, 24 }, { 208, 7 }, { 224, 7 }, { 224, 24 }, { 224, 41 }, { 85, 16 },
+ { 50, 13 }, { 16, 20 }, { 16, 38 }, { 50, 48 }, { 85, 52 }, { 95, 63 }, { 85, 39 },
+ { 85, 21 }, { 85, 4 }, { 68, 2 }, { 68, 19 }, { 68, 37 }, { 80, 58 }, { 60, 55 },
+ { 50, 35 }, { 50, 13 }, { 50, 0 }, { 33, 3 }, { 33, 20 }, { 33, 37 }, { 16, 42 },
+ { 16, 24 }, { 16, 7 }, { 0, 7 }, { 0, 24 }, { 0, 41 }
+ }, {
+ 2, 2, 2, 2, 2, 2, 1,
+ 4, 4, 4, 4, 4, 4, 1,
+ 1, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 1, 1, 1, 2,
+ 2, 2, 2, 2, 2, 1, 4,
+ 4, 4, 4, 4, 4, 1, 1,
+ 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 1, 1, 1
+ } };
+ }
#endif
+ matrix_init_user();
+}