From db7c8562eddb22350fc9849685bf82aa6dc6f31a Mon Sep 17 00:00:00 2001 From: Albert Y <76888457+filterpaper@users.noreply.github.com> Date: Sun, 28 Feb 2021 14:15:38 +0800 Subject: [PATCH 1/2] Add RGB Matrix support for Preonic rev3 (#12008) * Add g_led_config for RGB Matrix support * Corrected indentation * Undo indentation on existing rev3.c code Co-authored-by: filterpaper --- keyboards/preonic/rev3/config.h | 3 ++- keyboards/preonic/rev3/rev3.c | 23 +++++++++++++++++++++++ keyboards/preonic/rev3/rules.mk | 4 ++++ 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/keyboards/preonic/rev3/config.h b/keyboards/preonic/rev3/config.h index e8b09e8484..b336477a32 100644 --- a/keyboards/preonic/rev3/config.h +++ b/keyboards/preonic/rev3/config.h @@ -124,6 +124,7 @@ #define RGB_DI_PIN A1 #define RGBLED_NUM 9 #define RGBLIGHT_ANIMATIONS - +// RGB Matrix support +#define DRIVER_LED_TOTAL RGBLED_NUM #endif diff --git a/keyboards/preonic/rev3/rev3.c b/keyboards/preonic/rev3/rev3.c index 04b691f405..a8bfd8bdb5 100644 --- a/keyboards/preonic/rev3/rev3.c +++ b/keyboards/preonic/rev3/rev3.c @@ -15,6 +15,29 @@ */ #include "rev3.h" +#ifdef RGB_MATRIX_ENABLE +led_config_t g_led_config = { { + // Key Matrix to LED Index + { NO_LED, 6, NO_LED, NO_LED, 5, 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, NO_LED, NO_LED, NO_LED, NO_LED }, + { NO_LED, 4, NO_LED, NO_LED, 3, 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, NO_LED, NO_LED }, + { NO_LED, 7, NO_LED, NO_LED, 2, NO_LED }, + { NO_LED, 1, NO_LED, NO_LED, 8, NO_LED }, +}, { + // LED Index to Physical Position + {112, 39}, {148, 60}, {206, 53}, {206, 3}, {150, 3}, {74, 3}, {18, 3}, {18, 54}, {77, 60} +}, { + // 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 +} }; +#endif + void matrix_init_kb(void) { matrix_init_user(); } diff --git a/keyboards/preonic/rev3/rules.mk b/keyboards/preonic/rev3/rules.mk index 1f62fa55ec..249d13705c 100644 --- a/keyboards/preonic/rev3/rules.mk +++ b/keyboards/preonic/rev3/rules.mk @@ -25,6 +25,10 @@ API_SYSEX_ENABLE = no SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend #SLEEP_LED_ENABLE = yes +# Do not enable RGB_MATRIX_ENABLE together with RGBLIGHT_ENABLE +RGB_MATRIX_ENABLE = no +RGB_MATRIX_DRIVER = WS2812 + # SERIAL_LINK_ENABLE = yes ENCODER_ENABLE = yes DIP_SWITCH_ENABLE = yes From ef49a9243b15cade7bec006f90cd0457c247e000 Mon Sep 17 00:00:00 2001 From: Anomalocaridid Date: Sun, 28 Feb 2021 01:16:04 -0500 Subject: [PATCH 2/2] Implement PLOOPY_DRAGSCROLL_INVERT option, which inverts the ploopy trackball's DRAG_SCROLL's vertical scroll direction. (#12032) --- keyboards/ploopyco/trackball/trackball.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/keyboards/ploopyco/trackball/trackball.c b/keyboards/ploopyco/trackball/trackball.c index f59f9788f9..c5effd0050 100644 --- a/keyboards/ploopyco/trackball/trackball.c +++ b/keyboards/ploopyco/trackball/trackball.c @@ -255,7 +255,12 @@ void pointing_device_task(void) { if (is_drag_scroll) { mouse_report.h = mouse_report.x; +#ifdef PLOOPY_DRAGSCROLL_INVERT + // Invert vertical scroll direction + mouse_report.v = -mouse_report.y; +#else mouse_report.v = mouse_report.y; +#endif mouse_report.x = 0; mouse_report.y = 0; }