From fecfb176b4e3de2867c4c8f5a407b26619511780 Mon Sep 17 00:00:00 2001
From: jack <0x6A73@pm.me>
Date: Tue, 13 Dec 2022 19:49:06 -0700
Subject: [PATCH] Add encoder map to boardsource/lulu, and some other dd
 migrations (#19281)

---
 keyboards/boardsource/lulu/config.h           |  8 --------
 keyboards/boardsource/lulu/info.json          | 20 +++++++++++--------
 .../boardsource/lulu/keymaps/via/keymap.c     | 11 +++++++++-
 .../boardsource/lulu/keymaps/via/rules.mk     |  3 ++-
 keyboards/boardsource/lulu/rp2040/config.h    |  1 +
 keyboards/boardsource/lulu/rp2040/info.json   |  4 ----
 6 files changed, 25 insertions(+), 22 deletions(-)

diff --git a/keyboards/boardsource/lulu/config.h b/keyboards/boardsource/lulu/config.h
index 382b1b6b3f..537bf0da1c 100644
--- a/keyboards/boardsource/lulu/config.h
+++ b/keyboards/boardsource/lulu/config.h
@@ -2,12 +2,4 @@
 // SPDX-License-Identifier: GPL-2.0-or-later
 
 #pragma once
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
 #define RGB_MATRIX_LED_COUNT 70
-#define RGB_MATRIX_SPLIT { 35, 35 }
-#define ENABLE_RGB_MATRIX_ALPHAS_MODS
-#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#define ENABLE_RGB_MATRIX_BREATHING
-#define ENABLE_RGB_MATRIX_BAND_SAT
-#define ENABLE_RGB_MATRIX_BAND_VAL
diff --git a/keyboards/boardsource/lulu/info.json b/keyboards/boardsource/lulu/info.json
index 8c3b03d1d2..8c3f07f14e 100644
--- a/keyboards/boardsource/lulu/info.json
+++ b/keyboards/boardsource/lulu/info.json
@@ -9,7 +9,8 @@
     "mousekey": true,
     "nkro": true,
     "rgb_matrix": true,
-    "oled": true
+    "oled": true,
+    "encoder": true
   },
   "url": "https://boardsource.xyz/projects/60de24d6847112054777bbdd",
   "usb": {
@@ -20,15 +21,18 @@
   "split": {
     "enabled": true
   },
-  "encoder": {
-    "enabled": true
-  },
-  "matrix_size": {
-     "cols": 6,
-     "rows": 10
-  },
   "rgb_matrix": {
     "driver": "WS2812",
+    "split_count": [35, 35],
+    "max_brightness": 150,
+    "animations": {
+      "alphas_mods": true,
+      "gradient_up_down": true,
+      "gradient_left_right": true,
+      "breathing": true,
+      "band_sat": true,
+      "band_val": true
+    },
     "layout": [
       { "flags": 2, "x": 86, "y": 55 },
       { "flags": 2, "x": 51, "y": 55 },
diff --git a/keyboards/boardsource/lulu/keymaps/via/keymap.c b/keyboards/boardsource/lulu/keymaps/via/keymap.c
index ac9efbfac1..67ef4b7b6b 100644
--- a/keyboards/boardsource/lulu/keymaps/via/keymap.c
+++ b/keyboards/boardsource/lulu/keymaps/via/keymap.c
@@ -5,8 +5,8 @@
 
 enum layers {
     _QWERTY,
-    _RAISE,
     _LOWER,
+    _RAISE,
     _ADJUST
 };
 
@@ -102,3 +102,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
                              _______, _______, _______, _______, _______,  _______, _______, _______
   )
 };
+
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+  [_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU),  ENCODER_CCW_CW(KC_PGUP, KC_PGDN) },
+  [_LOWER]  = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
+  [_RAISE]  = { ENCODER_CCW_CW(RGB_SAD, RGB_SAI),  ENCODER_CCW_CW(RGB_HUD, RGB_HUI) },
+  [_ADJUST] = { ENCODER_CCW_CW(_______, _______),  ENCODER_CCW_CW(_______, _______) }
+};
+#endif
diff --git a/keyboards/boardsource/lulu/keymaps/via/rules.mk b/keyboards/boardsource/lulu/keymaps/via/rules.mk
index 036bd6d1c3..f1adcab005 100644
--- a/keyboards/boardsource/lulu/keymaps/via/rules.mk
+++ b/keyboards/boardsource/lulu/keymaps/via/rules.mk
@@ -1 +1,2 @@
-VIA_ENABLE = yes
\ No newline at end of file
+VIA_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/boardsource/lulu/rp2040/config.h b/keyboards/boardsource/lulu/rp2040/config.h
index 2e02e03500..d579c06c6d 100644
--- a/keyboards/boardsource/lulu/rp2040/config.h
+++ b/keyboards/boardsource/lulu/rp2040/config.h
@@ -9,3 +9,4 @@
 #define I2C_DRIVER I2CD2
 #define I2C1_SDA_PIN GP22
 #define I2C1_SCL_PIN GP23
+#define RGB_DI_PIN GP29
diff --git a/keyboards/boardsource/lulu/rp2040/info.json b/keyboards/boardsource/lulu/rp2040/info.json
index a384241944..c50260c7c5 100644
--- a/keyboards/boardsource/lulu/rp2040/info.json
+++ b/keyboards/boardsource/lulu/rp2040/info.json
@@ -5,10 +5,6 @@
     "rows": ["GP14", "GP15", "GP16", "GP17", "GP18"]
   },
   "processor": "RP2040",
-  "rgblight": {
-     "pin": "GP29",
-     "led_count": 70
-  },
   "encoder": {
     "rotary": [
       { "pin_a": "GP8", "pin_b": "GP9" }