From ffb85b1f5d5a7d72d13fcd8570fe7da82d0213cf Mon Sep 17 00:00:00 2001 From: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Mon, 25 Jan 2021 14:05:16 +0800 Subject: [PATCH] [Keyboard] Add RGB Matrix support for The Mark:65 (#11676) * Add RGB Matrix support for Mark 65 keyboard * Update drive LED count * Removed unnecessary define line * Corrected typo Co-authored-by: filterpaper --- keyboards/boardsource/the_mark/config.h | 5 +++++ keyboards/boardsource/the_mark/rules.mk | 2 ++ keyboards/boardsource/the_mark/the_mark.c | 21 +++++++++++++++++++++ 3 files changed, 28 insertions(+) diff --git a/keyboards/boardsource/the_mark/config.h b/keyboards/boardsource/the_mark/config.h index 507bac966..dd18ec814 100644 --- a/keyboards/boardsource/the_mark/config.h +++ b/keyboards/boardsource/the_mark/config.h @@ -53,6 +53,11 @@ along with this program. If not, see . #define RGBLED_NUM 24 // Number of LEDs #endif +/* RGB matrix support */ +#ifdef RGB_MATRIX_ENABLE +#define DRIVER_LED_TOTAL 24 // Number of LEDs +#endif + /* * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. */ diff --git a/keyboards/boardsource/the_mark/rules.mk b/keyboards/boardsource/the_mark/rules.mk index 38ce53e30..8fb8f42bc 100644 --- a/keyboards/boardsource/the_mark/rules.mk +++ b/keyboards/boardsource/the_mark/rules.mk @@ -20,3 +20,5 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow BLUETOOTH_ENABLE = no # Enable Bluetooth AUDIO_ENABLE = no # Audio output +RGB_MATRIX_ENABLE = no # Enable keyboard RGB matrix (do not use together with RGBLIGHT_ENABLE) +RGB_MATRIX_DRIVER = WS2812 # RGB matrix driver support diff --git a/keyboards/boardsource/the_mark/the_mark.c b/keyboards/boardsource/the_mark/the_mark.c index 9d3dedc08..bb37974f6 100644 --- a/keyboards/boardsource/the_mark/the_mark.c +++ b/keyboards/boardsource/the_mark/the_mark.c @@ -15,3 +15,24 @@ */ #include "the_mark.h" + +/* Map physical under glow LEDs for RGB matrix support */ +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // Key Matrix to LED Index + { NO_LED, 10 , 9 , NO_LED, 8 , 7 , NO_LED, 6 , 5 , NO_LED, 4 , 3 , NO_LED, 2 , 1 , NO_LED }, + { NO_LED, 11 , NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 0 , NO_LED }, + { NO_LED, 12 , NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 23 , NO_LED }, + { NO_LED, 13 , 14 , NO_LED, 15 , 16 , NO_LED, 17 , 18 , NO_LED, 19 , 20 , NO_LED, 21 , 22 , NO_LED }, + { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, +}, { + // LED Index to Physical Position + {224, 42}, {224, 21}, {209, 21}, {179, 21}, {164, 21}, {134, 21}, {119, 21}, {89, 21}, {74, 21}, {45, 21}, {30, 21}, {30, 42}, + {30, 64}, {30, 85}, {45, 85}, {74, 85}, {89, 85}, {119, 85}, {134, 85}, {164, 85}, {179, 85}, {209, 85}, {224, 85}, {224, 64} +}, { + // LED Index to Flag + LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, + LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, + LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL +} }; +#endif