summaryrefslogtreecommitdiffstats
path: root/keyboards
diff options
context:
space:
mode:
authorAlbert Y <76888457+filterpaper@users.noreply.github.com>2021-07-12 23:52:32 +0800
committerGitHub <noreply@github.com>2021-07-12 08:52:32 -0700
commitc024acd75243034d7d70d3bfb2fd6d3eacc0b62a (patch)
treeff1ca3fa2204edc0871bb194563abc94236c9970 /keyboards
parent6b8168c3786262e563137c48bcfe34c3b86e24e1 (diff)
[Keyboard] RGB Matrix support for TBK Mini (#13506)
Co-authored-by: filterpaper <filterpaper@localhost>
Diffstat (limited to 'keyboards')
-rw-r--r--keyboards/bastardkb/tbkmini/config.h15
-rw-r--r--keyboards/bastardkb/tbkmini/rules.mk7
-rw-r--r--keyboards/bastardkb/tbkmini/tbkmini.c43
3 files changed, 61 insertions, 4 deletions
diff --git a/keyboards/bastardkb/tbkmini/config.h b/keyboards/bastardkb/tbkmini/config.h
index 9aee4d5f97..adda761744 100644
--- a/keyboards/bastardkb/tbkmini/config.h
+++ b/keyboards/bastardkb/tbkmini/config.h
@@ -1,4 +1,4 @@
-/*
+/*
* Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
@@ -45,3 +45,16 @@
#define F_SCL 400000L
#define USB_POLLING_INTERVAL_MS 1
#define MASTER_RIGHT
+
+// RGB matrix support
+#ifdef RGB_MATRIX_ENABLE
+# define SPLIT_TRANSPORT_MIRROR
+# define DRIVER_LED_TOTAL 42 // Number of LEDs
+# define RGB_MATRIX_SPLIT { 21, 21 }
+# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
+# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
+# ifndef RGB_DISABLE_WHEN_USB_SUSPENDED
+# define RGB_DISABLE_WHEN_USB_SUSPENDED true
+# endif
+# define RGB_MATRIX_KEYPRESSES
+#endif
diff --git a/keyboards/bastardkb/tbkmini/rules.mk b/keyboards/bastardkb/tbkmini/rules.mk
index 76f9cf11a4..f76568dad1 100644
--- a/keyboards/bastardkb/tbkmini/rules.mk
+++ b/keyboards/bastardkb/tbkmini/rules.mk
@@ -17,7 +17,10 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE = yes # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix (do not use together with RGBLIGHT_ENABLE)
+RGB_MATRIX_DRIVER = WS2812 # RGB matrix driver support
BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
SPLIT_KEYBOARD = yes
@@ -25,7 +28,7 @@ TAP_DANCE_ENABLE = no
LTO_ENABLE = yes
AUDIO_SUPPORTED = no
-RGB_MATRIX_SUPPORTED = no
+RGB_MATRIX_SUPPORTED = yes
RGBLIGHT_SUPPORTED = yes
LAYOUTS = split_3x6_3
diff --git a/keyboards/bastardkb/tbkmini/tbkmini.c b/keyboards/bastardkb/tbkmini/tbkmini.c
index b932401c08..7bbd374c01 100644
--- a/keyboards/bastardkb/tbkmini/tbkmini.c
+++ b/keyboards/bastardkb/tbkmini/tbkmini.c
@@ -1,4 +1,4 @@
-/*
+/*
* Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
@@ -16,3 +16,44 @@
*/
#include "tbkmini.h"
+
+#ifdef RGB_MATRIX_ENABLE
+led_config_t g_led_config = { {
+ // left
+ { 0, 5, 6, 11, 12, 15 },
+ { 1, 4, 7, 10, 13, 16 },
+ { 2, 3, 8, 9, 14, 17 },
+ { NO_LED, 18, NO_LED, 19, 20, NO_LED },
+ // right
+ { 21, 26, 27, 32, 33, 36 },
+ { 22, 25, 28, 31, 34, 37 },
+ { 23, 24, 29, 30, 35, 38 },
+ { NO_LED, 39, NO_LED, 40, 41, NO_LED }
+}, {
+ // left
+ { 0, 0 }, { 0, 21 }, { 0, 42 }, // col 1
+ { 20, 42 }, { 20, 21 }, { 20, 0 }, // col 2
+ { 41, 0 }, { 41, 21 }, { 41, 42 },
+ { 61, 42 }, { 61, 21 }, { 61, 0 },
+ { 81, 0 }, { 81, 21 }, { 81, 42 },
+ { 102, 0 }, { 102, 21 }, { 102, 42 },
+ { 61, 64 }, { 81, 64 }, { 102, 64 }, // left thumb cluster
+ // right
+ { 224, 0 }, { 224, 21 }, { 224, 42 }, // col 12
+ { 204, 42 }, { 204, 21 }, { 204, 0 }, // col 11
+ { 183, 0 }, { 183, 21 }, { 183, 42 },
+ { 163, 42 }, { 163, 21 }, { 163, 0 },
+ { 142, 0 }, { 142, 21 }, { 142, 42 },
+ { 122, 0 }, { 122, 21 }, { 122, 42 },
+ { 163, 64 }, { 142, 64 }, { 122, 64 } // right thumb cluster
+}, {
+ // left
+ 2, 2, 2, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 2, 2, 2,
+ // right
+ 2, 2, 2, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 4, 4, 4, 4, 4, 4,
+ 2, 2, 2
+} };
+#endif