From bc502348c3d52c63215b89e617fd6ad250c638c8 Mon Sep 17 00:00:00 2001
From: Alabahuy <rezzaadio@gmail.com>
Date: Sat, 29 Oct 2022 02:49:01 +0700
Subject: [PATCH] [Keyboard] Add Encoder map support for rart (#18851)

---
 keyboards/rart/rart4x4/config.h              |  7 +++++-
 keyboards/rart/rart4x4/keymaps/via/keymap.c  | 24 +++++++-------------
 keyboards/rart/rart4x4/keymaps/via/rules.mk  |  1 +
 keyboards/rart/rart75/keymaps/via/keymap.c   | 18 +++++++--------
 keyboards/rart/rart75/keymaps/via/rules.mk   |  2 ++
 keyboards/rart/rart75hs/keymaps/via/keymap.c |  9 ++++++++
 keyboards/rart/rart75hs/keymaps/via/rules.mk |  1 +
 keyboards/rart/rart75hs/rart75hs.c           |  2 +-
 keyboards/rart/rart75m/keymaps/via/keymap.c  | 11 ++++++++-
 keyboards/rart/rart75m/keymaps/via/rules.mk  |  4 +++-
 keyboards/rart/rart80/config.h               |  4 ++--
 keyboards/rart/rart80/rules.mk               |  3 +--
 keyboards/rart/rartpad/config.h              | 10 ++++++--
 keyboards/rart/rartpad/keymaps/via/keymap.c  | 24 +++++++-------------
 keyboards/rart/rartpad/keymaps/via/rules.mk  |  1 +
 keyboards/rart/rartpad/rartpad.c             |  9 +-------
 16 files changed, 70 insertions(+), 60 deletions(-)

diff --git a/keyboards/rart/rart4x4/config.h b/keyboards/rart/rart4x4/config.h
index b859a2f552..bde3948b39 100644
--- a/keyboards/rart/rart4x4/config.h
+++ b/keyboards/rart/rart4x4/config.h
@@ -44,7 +44,12 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #define RGB_DI_PIN D3
 #ifdef RGB_DI_PIN
-#define RGBLIGHT_ANIMATIONS
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_TWINKLE
 #define RGBLED_NUM 7
 #define RGBLIGHT_HUE_STEP 8
 #define RGBLIGHT_SAT_STEP 8
diff --git a/keyboards/rart/rart4x4/keymaps/via/keymap.c b/keyboards/rart/rart4x4/keymaps/via/keymap.c
index dd6c81d768..27f61db94f 100644
--- a/keyboards/rart/rart4x4/keymaps/via/keymap.c
+++ b/keyboards/rart/rart4x4/keymaps/via/keymap.c
@@ -44,19 +44,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     )
 };
 
-bool encoder_update_user(uint8_t index, bool clockwise) {
-    if (index == 0) { /* First encoder */
-        if (clockwise) {
-            tap_code(KC_WH_U);
-        } else {
-            tap_code(KC_WH_D);
-        }
-    } else if (index == 1) { /* Second encoder */
-        if (clockwise) {
-            tap_code(KC_VOLU);
-        } else {
-            tap_code(KC_VOLD);
-        }
-    }
-    return true;
-}
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+    [0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) },
+    [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+    [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+    [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
+};
+#endif
\ No newline at end of file
diff --git a/keyboards/rart/rart4x4/keymaps/via/rules.mk b/keyboards/rart/rart4x4/keymaps/via/rules.mk
index 1e5b99807c..f1adcab005 100644
--- a/keyboards/rart/rart4x4/keymaps/via/rules.mk
+++ b/keyboards/rart/rart4x4/keymaps/via/rules.mk
@@ -1 +1,2 @@
 VIA_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/rart/rart75/keymaps/via/keymap.c b/keyboards/rart/rart75/keymaps/via/keymap.c
index 56058bd102..86e75a5b52 100644
--- a/keyboards/rart/rart75/keymaps/via/keymap.c
+++ b/keyboards/rart/rart75/keymaps/via/keymap.c
@@ -40,13 +40,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
 };
 
-bool encoder_update_user(uint8_t index, bool clockwise) {
-    if (index == 0) { /* First encoder */
-        if (clockwise) {
-            tap_code(KC_VOLU);
-        } else {
-            tap_code(KC_VOLD);
-        }
-    }
-    return true;
-}
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+    [0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
+    [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+    [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+    [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
+};
+#endif
\ No newline at end of file
diff --git a/keyboards/rart/rart75/keymaps/via/rules.mk b/keyboards/rart/rart75/keymaps/via/rules.mk
index 36b7ba9cbc..8111cb54a7 100644
--- a/keyboards/rart/rart75/keymaps/via/rules.mk
+++ b/keyboards/rart/rart75/keymaps/via/rules.mk
@@ -1,2 +1,4 @@
 VIA_ENABLE = yes
 LTO_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
+
diff --git a/keyboards/rart/rart75hs/keymaps/via/keymap.c b/keyboards/rart/rart75hs/keymaps/via/keymap.c
index e64380d4d2..eb5d231b41 100644
--- a/keyboards/rart/rart75hs/keymaps/via/keymap.c
+++ b/keyboards/rart/rart75hs/keymaps/via/keymap.c
@@ -53,3 +53,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   )
 
 };
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+    [0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
+    [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+    [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+    [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
+};
+#endif
diff --git a/keyboards/rart/rart75hs/keymaps/via/rules.mk b/keyboards/rart/rart75hs/keymaps/via/rules.mk
index 36b7ba9cbc..1189f4ad19 100644
--- a/keyboards/rart/rart75hs/keymaps/via/rules.mk
+++ b/keyboards/rart/rart75hs/keymaps/via/rules.mk
@@ -1,2 +1,3 @@
 VIA_ENABLE = yes
 LTO_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/rart/rart75hs/rart75hs.c b/keyboards/rart/rart75hs/rart75hs.c
index f2475ab960..6c1c408a8b 100644
--- a/keyboards/rart/rart75hs/rart75hs.c
+++ b/keyboards/rart/rart75hs/rart75hs.c
@@ -28,4 +28,4 @@ bool encoder_update_kb(uint8_t index, bool clockwise) {
     }
     return true;
 }
-#endif
+#endif
\ No newline at end of file
diff --git a/keyboards/rart/rart75m/keymaps/via/keymap.c b/keyboards/rart/rart75m/keymaps/via/keymap.c
index 2d847bc6ee..a8deffa500 100644
--- a/keyboards/rart/rart75m/keymaps/via/keymap.c
+++ b/keyboards/rart/rart75m/keymaps/via/keymap.c
@@ -51,4 +51,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                   KC_TRNS,                                     KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
     ),
 
-}; 
\ No newline at end of file
+}; 
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+    [0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
+    [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+    [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+    [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
+};
+#endif
\ No newline at end of file
diff --git a/keyboards/rart/rart75m/keymaps/via/rules.mk b/keyboards/rart/rart75m/keymaps/via/rules.mk
index 036bd6d1c3..aaf0497be1 100644
--- a/keyboards/rart/rart75m/keymaps/via/rules.mk
+++ b/keyboards/rart/rart75m/keymaps/via/rules.mk
@@ -1 +1,3 @@
-VIA_ENABLE = yes
\ No newline at end of file
+VIA_ENABLE = yes
+LTO_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/rart/rart80/config.h b/keyboards/rart/rart80/config.h
index 21c88a18cf..c49ebc38af 100644
--- a/keyboards/rart/rart80/config.h
+++ b/keyboards/rart/rart80/config.h
@@ -39,13 +39,13 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 /* Locking resynchronize hack */
 #define LOCKING_RESYNC_ENABLE
 
-#define LED_CAPS_LOCK_PIN D5
+#define LED_CAPS_LOCK_PIN D4
 #define LED_PIN_ON_STATE 0
 
 #define BOOTMAGIC_LITE_ROW 0
 #define BOOTMAGIC_LITE_COLUMN 1
 
-#define RGB_DI_PIN C0
+#define RGB_DI_PIN D5
 #ifdef RGB_DI_PIN
 #define RGBLIGHT_EFFECT_BREATHING
 #define RGBLIGHT_EFFECT_RAINBOW_MOOD
diff --git a/keyboards/rart/rart80/rules.mk b/keyboards/rart/rart80/rules.mk
index 3f9d76149a..4655675b62 100644
--- a/keyboards/rart/rart80/rules.mk
+++ b/keyboards/rart/rart80/rules.mk
@@ -18,5 +18,4 @@ COMMAND_ENABLE = yes        # Commands for debug and configuration
 NKRO_ENABLE = yes            # Enable N-Key Rollover
 BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-ENCODER_ENABLE = no
+AUDIO_ENABLE = no           # Audio output
\ No newline at end of file
diff --git a/keyboards/rart/rartpad/config.h b/keyboards/rart/rartpad/config.h
index 495f6f99ba..da89cbbd80 100644
--- a/keyboards/rart/rartpad/config.h
+++ b/keyboards/rart/rartpad/config.h
@@ -30,7 +30,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 /* COL2ROW or ROW2COL */
 #define DIODE_DIRECTION COL2ROW
 
-#define NUM_LOCK_LED_PIN D7
+#define LED_CAPS_LOCK_PIN D7
+#define LED_PIN_ON_STATE 1
 
 /* Set 0 if debouncing isn't needed */
 #define DEBOUNCE 5
@@ -46,7 +47,12 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #define RGB_DI_PIN F7
 #ifdef RGB_DI_PIN
-#define RGBLIGHT_ANIMATIONS
+#define RGBLIGHT_EFFECT_BREATHING
+#define RGBLIGHT_EFFECT_RAINBOW_MOOD
+#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
+#define RGBLIGHT_EFFECT_KNIGHT
+#define RGBLIGHT_EFFECT_STATIC_GRADIENT
+#define RGBLIGHT_EFFECT_TWINKLE
 #define RGBLED_NUM 5
 #define RGBLIGHT_HUE_STEP 8
 #define RGBLIGHT_SAT_STEP 8
diff --git a/keyboards/rart/rartpad/keymaps/via/keymap.c b/keyboards/rart/rartpad/keymaps/via/keymap.c
index 84aaca1ec6..02d9316104 100644
--- a/keyboards/rart/rartpad/keymaps/via/keymap.c
+++ b/keyboards/rart/rartpad/keymaps/via/keymap.c
@@ -35,19 +35,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     )
 };
 
-bool encoder_update_user(uint8_t index, bool clockwise) {
-    if (index == 0) { /* First encoder */
-        if (clockwise) {
-            tap_code(KC_WH_U);
-        } else {
-            tap_code(KC_WH_D);
-        }
-    } else if (index == 1) { /* Second encoder */
-        if (clockwise) {
-            tap_code(KC_VOLU);
-        } else {
-            tap_code(KC_VOLD);
-        }
-    }
-    return true;
-}
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+    [0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) },
+    [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+    [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+    [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
+};
+#endif
\ No newline at end of file
diff --git a/keyboards/rart/rartpad/keymaps/via/rules.mk b/keyboards/rart/rartpad/keymaps/via/rules.mk
index 36b7ba9cbc..aaf0497be1 100644
--- a/keyboards/rart/rartpad/keymaps/via/rules.mk
+++ b/keyboards/rart/rartpad/keymaps/via/rules.mk
@@ -1,2 +1,3 @@
 VIA_ENABLE = yes
 LTO_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/rart/rartpad/rartpad.c b/keyboards/rart/rartpad/rartpad.c
index 566c3fa466..4b5a9eb0c2 100644
--- a/keyboards/rart/rartpad/rartpad.c
+++ b/keyboards/rart/rartpad/rartpad.c
@@ -12,11 +12,4 @@
  * You should have received a copy of the GNU General Public License
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
-#include "rartpad.h"
-
-bool led_update_kb(led_t led_state) {
-    if (led_update_user(led_state)) {
-        writePin(NUM_LOCK_LED_PIN, led_state.num_lock);
-    }
-    return true;
-}
+#include "rartpad.h"
\ No newline at end of file