diff --git a/keyboards/chromatonemini/chromatonemini.c b/keyboards/chromatonemini/chromatonemini.c
index 91caab7980..d7dc33a0e0 100644
--- a/keyboards/chromatonemini/chromatonemini.c
+++ b/keyboards/chromatonemini/chromatonemini.c
@@ -154,55 +154,3 @@ uint8_t shift_led_indicator_right(uint8_t scale_indicator_col){
     }
     return scale_indicator_col;
 }
-
-#ifdef ENCODER_ENABLE
-#   ifdef ENCODERS
-static uint8_t  encoder_state[ENCODERS] = {0};
-static keypos_t encoder_cw[ENCODERS]    = ENCODERS_CW_KEY;
-static keypos_t encoder_ccw[ENCODERS]   = ENCODERS_CCW_KEY;
-#   endif
-
-void encoder_action_unregister(void) {
-#   ifdef ENCODERS
-    for (int index = 0; index < ENCODERS; ++index) {
-        if (encoder_state[index]) {
-            keyevent_t encoder_event = (keyevent_t) {
-                .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index],
-                .pressed = false,
-                .time = (timer_read() | 1)
-            };
-            encoder_state[index] = 0;
-            action_exec(encoder_event);
-        }
-    }
-#   endif
-}
-
-void encoder_action_register(uint8_t index, bool clockwise) {
-#   ifdef ENCODERS
-    keyevent_t encoder_event = (keyevent_t) {
-        .key = clockwise ? encoder_cw[index] : encoder_ccw[index],
-        .pressed = true,
-        .time = (timer_read() | 1)
-    };
-    encoder_state[index] = (clockwise ^ 1) | (clockwise << 1);
-#       ifdef CONSOLE_ENABLE
-    uprintf("encoder_action_register index = %u, clockwise = %u, row = %u, col = %u\n", index, clockwise, encoder_event.key.row, encoder_event.key.col);
-#       endif
-    action_exec(encoder_event);
-#   endif
-}
-
-void matrix_scan_kb(void) {
-    encoder_action_unregister();
-    matrix_scan_user();
-}
-
-bool encoder_update_kb(uint8_t index, bool clockwise) {
-    encoder_action_register(index, clockwise);
-    // don't return user actions, because they are in the keymap
-    // encoder_update_user(index, clockwise);
-    return true;
-};
-
-#endif
diff --git a/keyboards/chromatonemini/chromatonemini.h b/keyboards/chromatonemini/chromatonemini.h
index 83838be73e..d42ee500ce 100644
--- a/keyboards/chromatonemini/chromatonemini.h
+++ b/keyboards/chromatonemini/chromatonemini.h
@@ -27,14 +27,14 @@
  * represents the switch matrix.
  */
 #define LAYOUT( \
-        enc,       sustain,                  ccw, cw,                                                             \
+        enc,       sustain,                                                                                       \
         up,                                                                                                       \
     left, right,   k01, k03, k05, k07, k09, k11, k13, k15, k17, k19, k21, k23, k25, k27, k29, k31, k33, k35, k37, \
         down,        k02, k04, k06, k08, k10, k12, k14, k16, k18, k20, k22, k24, k26, k28, k30, k32, k34, k36     \
 ) { \
     { enc, down, left, right, up,  k01, k02, sustain }, \
-    { k03, k04,  k05,  k06,   k07, k08, k09, ccw     }, \
-    { k10, k11,  k12,  k13,   k14, k15, k16, cw      }, \
+    { k03, k04,  k05,  k06,   k07, k08, k09, KC_NO   }, \
+    { k10, k11,  k12,  k13,   k14, k15, k16, KC_NO   }, \
     { k17, k18,  k19,  k20,   k21, k22, k23, KC_NO   }, \
     { k24, k25,  k26,  k27,   k28, k29, k30, KC_NO   }, \
     { k31, k32,  k33,  k34,   k35, k36, k37, KC_NO   }  \
@@ -117,6 +117,3 @@ extern MidiDevice midi_device;
 uint8_t shift_led_indicator_left(uint8_t scale_indicator_col);
 uint8_t shift_led_indicator_right(uint8_t scale_indicator_col);
 
-void encoder_action_unregister(void);
-
-void encoder_action_register(uint8_t index, bool clockwise);
diff --git a/keyboards/chromatonemini/config.h b/keyboards/chromatonemini/config.h
index e92f84ba87..5bb55f8797 100644
--- a/keyboards/chromatonemini/config.h
+++ b/keyboards/chromatonemini/config.h
@@ -19,27 +19,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "config_common.h"
 
-/* key matrix size */
-#define MATRIX_ROWS 6
-#define MATRIX_COLS 8
-
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
- */
-#define MATRIX_ROW_PINS { E6, D7, C6, D4, D0, D1 }
-#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, B6 }
-#define UNUSED_PINS
-
-/* COL2ROW, ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
 /*
  * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
  */
@@ -171,63 +150,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #   endif  // CONSOLE_ENABLE
 #endif  // RGB_MATRIX_ENABLE
 
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCE 5
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-//#define MATRIX_HAS_GHOST
-
-// /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-// #define LOCKING_SUPPORT_ENABLE
-// /* Locking resynchronize hack */
-// #define LOCKING_RESYNC_ENABLE
-
-/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
- * This is useful for the Windows task manager shortcut (ctrl+shift+esc).
- */
-//#define GRAVE_ESC_CTRL_OVERRIDE
-
-/*
- * Force NKRO
- *
- * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
- * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
- * makefile for this to work.)
- *
- * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
- * until the next keyboard reset.
- *
- * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
- * fully operational during normal computer usage.
- *
- * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
- * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
- * bootmagic, NKRO mode will always be enabled until it is toggled again during a
- * power-up.
- *
- */
-//#define FORCE_NKRO
-
-/*
- * Feature disable options
- *  These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-
-/* Bootmagic Lite key configuration */
-//#define BOOTMAGIC_LITE_ROW 0
-//#define BOOTMAGIC_LITE_COLUMN 0
-
 /* Audio */
 #ifdef AUDIO_ENABLE
 #   define AUDIO_PIN B6  // use PB6 = PIN10 as Audio output
@@ -262,19 +184,9 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #   define MIDI_INITIAL_VELOCITY 117
 #endif  //  MIDI_ENABLE
 
-/*
- * Encoder options
- */
-#ifdef ENCODER_ENABLE
-#   define ENCODERS_PAD_A { B5 }
-#   define ENCODERS_PAD_B { B4 }
-#   define ENCODER_RESOLUTION 4
-#   define TAP_CODE_DELAY 10
-
-#define ENCODERS 1
-#define ENCODERS_CW_KEY  { {7, 2} }
-#define ENCODERS_CCW_KEY { {7, 1} }
-#endif  // ENCODER_ENABLE
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
 
 /* 2021/01/22 added to shrink firmware size */
 // NO_ACTION_TAPPING -1964 bytes, however, this disables Layer mods...
diff --git a/keyboards/chromatonemini/info.json b/keyboards/chromatonemini/info.json
index 5f77db05ee..7d33f4ed20 100644
--- a/keyboards/chromatonemini/info.json
+++ b/keyboards/chromatonemini/info.json
@@ -3,6 +3,26 @@
     "manufacturer": "3araht",
     "url": "https://github.com/3araht/chromatonemini",
     "maintainer": "3araht",
+    "bootloader": "caterina",
+    "processor": "atmega32u4",
+    "features": {
+        "midi": true,
+        "extrakey": true,
+        "encoder": true,
+        "via": true,
+        "bootmagic": false,
+        "console": false,
+        "mousekey": false,
+        "nkro": false,
+        "rgblight": false,
+        "audio": false
+    },
+    "diode_direction": "COL2ROW",
+    "matrix_pins": {
+        "cols": [ "F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6" ],
+        "rows": [ "E6", "D7", "C6", "D4", "D0", "D1" ]
+    },
+    "debounce": 5,
     "usb": {
         "vid": "0xFEED",
         "pid": "0xF4B4",
@@ -13,8 +33,6 @@
             "layout": [
                 {"label":"enc", "x":0.5, "y":0},
                 {"label":"sustain", "x":1.5, "y":0},
-                {"label":"ccw", "x":2.5, "y":0},
-                {"label":"cw", "x":3.5, "y":0},
                 {"label":"up", "x":0.5, "y":1.5},
                 {"label":"left", "x":0, "y":2.5},
                 {"label":"right", "x":1, "y":2.5},
@@ -57,5 +75,10 @@
                 {"label":"k34", "x":19, "y":3.5},
                 {"label":"k36", "x":20, "y":3.5}]
         }
+    },
+    "encoder": {
+        "rotary": [
+            { "pin_a": "B5", "pin_b": "B4", "resolution": 4 }
+        ]
     }
 }
diff --git a/keyboards/chromatonemini/keymaps/default/keymap.c b/keyboards/chromatonemini/keymaps/default/keymap.c
index 102aba930a..4527065c3b 100644
--- a/keyboards/chromatonemini/keymaps/default/keymap.c
+++ b/keyboards/chromatonemini/keymaps/default/keymap.c
@@ -39,7 +39,7 @@ extern midi_config_t midi_config;
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     /* Base */
     [_BASE] = LAYOUT(
-            FN_MUTE,          MI_SUS,                            KC_VOLD, KC_VOLU,
+            FN_MUTE,          MI_SUS,
             MI_BENDU,
         MI_TRNSD, MI_TRNSU,  MI_C_2, MI_D_2, MI_E_2,  MI_Fs_2, MI_Ab_2, MI_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Fs_3, MI_Ab_3, MI_Bb_3, MI_C_4,  MI_D_4,  MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5,
             MI_BENDD,           MI_Db_2, MI_Eb_2, MI_F_2,  MI_G_2,  MI_A_2,  MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3,  MI_G_3, MI_A_3,  MI_B_3, MI_Db_4, MI_Eb_4, MI_F_4,  MI_G_4,  MI_A_4,  MI_B_4
@@ -47,20 +47,28 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
     /* RESERVE */
     [_RESERVE] = LAYOUT(
-            _______,          _______,                             _______, _______,
+            _______,          _______,
             _______,
         _______, _______,      _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
             _______,               _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
     ),
 
     [_FN] =  LAYOUT(
-            _______,          XXXXXXX,                             XXXXXXX, XXXXXXX,
+            _______,          XXXXXXX,
             MI_VELU,
         MI_OCTD, MI_OCTU,     L_BASE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, XXXXXXX, XXXXXXX,
             MI_VELD,               L_RESERVE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, EEP_RST, XXXXXXX, XXXXXXX
     )
 };
 
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+    [_BASE]    = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)  },
+    [_RESERVE] = { ENCODER_CCW_CW(_______, _______)  },
+    [_FN]      = { ENCODER_CCW_CW(_______, _______)  },
+};
+#endif
+
 // commom codes called from eeconfig_init_user() and keyboard_post_init_user().
 void my_init(void){
     //  Set octave to MI_OCT_1
diff --git a/keyboards/chromatonemini/keymaps/default/rules.mk b/keyboards/chromatonemini/keymaps/default/rules.mk
new file mode 100644
index 0000000000..8006608ea9
--- /dev/null
+++ b/keyboards/chromatonemini/keymaps/default/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes    # replacing ENCODERS_CW_KEY method to this on 2022/08/31.
diff --git a/keyboards/chromatonemini/keymaps/led/keymap.c b/keyboards/chromatonemini/keymaps/led/keymap.c
index 99da8ed0c9..a68ec2ad38 100644
--- a/keyboards/chromatonemini/keymaps/led/keymap.c
+++ b/keyboards/chromatonemini/keymaps/led/keymap.c
@@ -215,7 +215,7 @@ static uint8_t key_separator_col = _KEY01;  //  (_KEY01 .. _KEY37).     By defau
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     /* Base */
     [_BASE] = LAYOUT(
-            FN_MUTE,         MI_SUS,                             KC_VOLD, KC_VOLU,
+            FN_MUTE,         MI_SUS,
             MI_BENDU,
         SHIFT_L, SHIFT_R,    MI_C_2, MI_D_2, MI_E_2,  MI_Fs_2, MI_Ab_2, MI_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Fs_3, MI_Ab_3, MI_Bb_3, MI_C_4,  MI_D_4,  MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5,
             MI_BENDD,           MI_Db_2, MI_Eb_2, MI_F_2,  MI_G_2,  MI_A_2,  MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3,  MI_G_3, MI_A_3,  MI_B_3, MI_Db_4, MI_Eb_4, MI_F_4,  MI_G_4,  MI_A_4,  MI_B_4
@@ -223,7 +223,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
     /* 1 octave on the left side is ch2, others are ch1 (normal) */
     [_SEPALEFTOCT] = LAYOUT(
-            _______,          _______,                             _______, _______,
+            _______,          _______,
             _______,
         SHIFT_L, SHIFT_R,     YM_C_2, YM_D_2, YM_E_2,  YM_Fs_2, YM_Ab_2, YM_Bb_2,     MI_C_3, MI_D_3, MI_E_3, MI_Fs_3, MI_Ab_3, MI_Bb_3, MI_C_4,  MI_D_4,  MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5,
             _______,             YM_Db_2, YM_Eb_2, YM_F_2,  YM_G_2,  YM_A_2,  YM_B_2,     MI_Db_3, MI_Eb_3, MI_F_3,  MI_G_3, MI_A_3,  MI_B_3, MI_Db_4, MI_Eb_4, MI_F_4,  MI_G_4,  MI_A_4,  MI_B_4
@@ -231,7 +231,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
     /* Half ch2, half ch1 (normal) */
     [_SEPAHALF] = LAYOUT(
-            _______,           _______,                             _______, _______,
+            _______,           _______,
             _______,
         SHIFT_L, SHIFT_R,      YM_C_2, YM_D_2, YM_E_2,  YM_Fs_2, YM_Ab_2, YM_Bb_2, YM_C_3, YM_D_3, YM_E_3,       MI_Fs_3, MI_Ab_3, MI_Bb_3, MI_C_4,  MI_D_4,  MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5,
             _______,               YM_Db_2, YM_Eb_2, YM_F_2,  YM_G_2,  YM_A_2,  YM_B_2, YM_Db_3, YM_Eb_3, YM_F_3,    MI_G_3, MI_A_3,  MI_B_3, MI_Db_4, MI_Eb_4, MI_F_4,  MI_G_4,  MI_A_4,  MI_B_4
@@ -239,7 +239,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
     /* 2 octave on the left side is ch2, others are ch1 (normal) */
     [_SEPARIGHTOCT] = LAYOUT(
-            _______,           _______,                             _______, _______,
+            _______,           _______,
             _______,
         SHIFT_L, SHIFT_R,      YM_C_2, YM_D_2, YM_E_2,  YM_Fs_2, YM_Ab_2, YM_Bb_2, YM_C_3, YM_D_3, YM_E_3, YM_Fs_3, YM_Ab_3, YM_Bb_3,      MI_C_4,  MI_D_4,  MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5,
             _______,               YM_Db_2, YM_Eb_2, YM_F_2,  YM_G_2,  YM_A_2,  YM_B_2, YM_Db_3, YM_Eb_3, YM_F_3,  YM_G_3, YM_A_3,  YM_B_3,     MI_Db_4, MI_Eb_4, MI_F_4,  MI_G_4,  MI_A_4,  MI_B_4
@@ -247,7 +247,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
     /* TRANS   This layer must locate 1 layer below _FN layer. */
     [_TRANS] = LAYOUT(
-            _______,           _______,                             _______, _______,
+            _______,           _______,
             _______,
         MI_TRNSD, MI_TRNSU,   _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
             _______,               _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
@@ -255,7 +255,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
     /* Flip Base    SFIFTUP and SHIFT_L are swapped. */
     [_FLIPBASE] = LAYOUT(
-            FN_MUTE,          MI_SUS,                             KC_VOLD, KC_VOLU,
+            FN_MUTE,          MI_SUS,
             MI_BENDU,
         SHIFT_L, SHIFT_R,     MI_C_5, MI_Bb_4, MI_Ab_4,  MI_Fs_4, MI_E_4, MI_D_4, MI_C_4, MI_Bb_3, MI_Ab_3, MI_Fs_3, MI_E_3, MI_D_3, MI_C_3,  MI_Bb_2,  MI_Ab_2, MI_Fs_2, MI_E_2, MI_D_2, MI_C_2,
             MI_BENDD,           MI_B_4, MI_A_4, MI_G_4,  MI_F_4,  MI_Eb_4,  MI_Db_4, MI_B_3, MI_A_3, MI_G_3,  MI_F_3, MI_Eb_3,  MI_Db_3, MI_B_2, MI_A_2, MI_G_2,  MI_F_2,  MI_Eb_2,  MI_Db_2
@@ -263,20 +263,33 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
     /* Flip Trans   This layer must locate 1 layer above _FLIPBASE layer.  MI_TRNSU and MI_TRNSD are swapped. */
     [_FLIPTRANS] = LAYOUT(
-            _______,          _______,                             _______, _______,
+            _______,          _______,
             _______,
         MI_TRNSU, MI_TRNSD,   _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
             _______,               _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
     ),
 
     [_FN] =  LAYOUT(
-            _______,          XXXXXXX,                             RGB_RMOD, RGB_MOD,
+            _______,          XXXXXXX,
             MI_VELU,
         MI_OCTD, MI_OCTU,     B_BASE,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, B_LEFT, XXXXXXX, XXXXXXX, B_CENTER, XXXXXXX, XXXXXXX, B_RIGHT, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, XXXXXXX, B_FLIP,
             MI_VELD,               TGLINTR, TGLTRNS, TGLCHGR, XXXXXXX, XXXXXXX, RGB_SAD, RGB_SAI, RGB_HUD, RGB_HUI, RGB_SPD, RGB_SPI, RGB_VAD, RGB_VAI, RGB_RMOD, RGB_MOD, EEP_RST, TGLINDI, RGB_TOG
     )
 };
 
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+    [_BASE]         = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)  },
+    [_SEPALEFTOCT]  = { ENCODER_CCW_CW(_______, _______)  },
+    [_SEPAHALF]     = { ENCODER_CCW_CW(_______, _______)  },
+    [_SEPARIGHTOCT] = { ENCODER_CCW_CW(_______, _______)  },
+    [_TRANS]        = { ENCODER_CCW_CW(_______, _______)  },
+    [_FLIPBASE]     = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)  },
+    [_FLIPTRANS]    = { ENCODER_CCW_CW(_______, _______)  },
+    [_FN]           = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
+};
+#endif
+
 // commom codes called from eeconfig_init_user() and keyboard_post_init_user().
 void my_init(void){
     //  Set octave to MI_OCT_1
diff --git a/keyboards/chromatonemini/keymaps/led/rules.mk b/keyboards/chromatonemini/keymaps/led/rules.mk
index 2e67e80675..eb13370b82 100644
--- a/keyboards/chromatonemini/keymaps/led/rules.mk
+++ b/keyboards/chromatonemini/keymaps/led/rules.mk
@@ -1,3 +1,5 @@
 RGB_MATRIX_ENABLE = yes     # Use RGB matrix (Don't enable this when RGBLIGHT_ENABLE is used.)
 RGB_MATRIX_CUSTOM_KB = yes  #
 VIA_ENABLE = no             # too many layers to use VIA...
+
+ENCODER_MAP_ENABLE = yes    # replacing ENCODERS_CW_KEY method to this on 2022/08/31.
diff --git a/keyboards/chromatonemini/keymaps/party/keymap.c b/keyboards/chromatonemini/keymaps/party/keymap.c
index 258bfe55c1..7383b81d8b 100644
--- a/keyboards/chromatonemini/keymaps/party/keymap.c
+++ b/keyboards/chromatonemini/keymaps/party/keymap.c
@@ -215,7 +215,7 @@ static uint8_t key_separator_col = _KEY01;  //  (_KEY01 .. _KEY37).     By defau
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     /* Base */
     [_BASE] = LAYOUT(
-            FN_MUTE,         MI_SUS,                             KC_VOLD, KC_VOLU,
+            FN_MUTE,         MI_SUS,
             MI_BENDU,
         SHIFT_L, SHIFT_R,    MI_C_2, MI_D_2, MI_E_2,  MI_Fs_2, MI_Ab_2, MI_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Fs_3, MI_Ab_3, MI_Bb_3, MI_C_4,  MI_D_4,  MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5,
             MI_BENDD,           MI_Db_2, MI_Eb_2, MI_F_2,  MI_G_2,  MI_A_2,  MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3,  MI_G_3, MI_A_3,  MI_B_3, MI_Db_4, MI_Eb_4, MI_F_4,  MI_G_4,  MI_A_4,  MI_B_4
@@ -223,7 +223,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
     /* 1 octave on the left side is ch2, others are ch1 (normal) */
     [_SEPALEFTOCT] = LAYOUT(
-            _______,          _______,                             _______, _______,
+            _______,          _______,
             _______,
         SHIFT_L, SHIFT_R,     YM_C_2, YM_D_2, YM_E_2,  YM_Fs_2, YM_Ab_2, YM_Bb_2,     MI_C_3, MI_D_3, MI_E_3, MI_Fs_3, MI_Ab_3, MI_Bb_3, MI_C_4,  MI_D_4,  MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5,
             _______,             YM_Db_2, YM_Eb_2, YM_F_2,  YM_G_2,  YM_A_2,  YM_B_2,     MI_Db_3, MI_Eb_3, MI_F_3,  MI_G_3, MI_A_3,  MI_B_3, MI_Db_4, MI_Eb_4, MI_F_4,  MI_G_4,  MI_A_4,  MI_B_4
@@ -231,7 +231,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
     /* Half ch2, half ch1 (normal) */
     [_SEPAHALF] = LAYOUT(
-            _______,           _______,                             _______, _______,
+            _______,           _______,
             _______,
         SHIFT_L, SHIFT_R,      YM_C_2, YM_D_2, YM_E_2,  YM_Fs_2, YM_Ab_2, YM_Bb_2, YM_C_3, YM_D_3, YM_E_3,       MI_Fs_3, MI_Ab_3, MI_Bb_3, MI_C_4,  MI_D_4,  MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5,
             _______,               YM_Db_2, YM_Eb_2, YM_F_2,  YM_G_2,  YM_A_2,  YM_B_2, YM_Db_3, YM_Eb_3, YM_F_3,    MI_G_3, MI_A_3,  MI_B_3, MI_Db_4, MI_Eb_4, MI_F_4,  MI_G_4,  MI_A_4,  MI_B_4
@@ -239,7 +239,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
     /* 2 octave on the left side is ch2, others are ch1 (normal) */
     [_SEPARIGHTOCT] = LAYOUT(
-            _______,           _______,                             _______, _______,
+            _______,           _______,
             _______,
         SHIFT_L, SHIFT_R,      YM_C_2, YM_D_2, YM_E_2,  YM_Fs_2, YM_Ab_2, YM_Bb_2, YM_C_3, YM_D_3, YM_E_3, YM_Fs_3, YM_Ab_3, YM_Bb_3,      MI_C_4,  MI_D_4,  MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5,
             _______,               YM_Db_2, YM_Eb_2, YM_F_2,  YM_G_2,  YM_A_2,  YM_B_2, YM_Db_3, YM_Eb_3, YM_F_3,  YM_G_3, YM_A_3,  YM_B_3,     MI_Db_4, MI_Eb_4, MI_F_4,  MI_G_4,  MI_A_4,  MI_B_4
@@ -247,7 +247,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
     /* TRANS   This layer must locate 1 layer below _FN layer. */
     [_TRANS] = LAYOUT(
-            _______,           _______,                             _______, _______,
+            _______,           _______,
             _______,
         MI_TRNSD, MI_TRNSU,   _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
             _______,               _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
@@ -255,7 +255,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
     /* Flip Base    SFIFTUP and SHIFT_L are swapped. */
     [_FLIPBASE] = LAYOUT(
-            FN_MUTE,          MI_SUS,                             KC_VOLD, KC_VOLU,
+            FN_MUTE,          MI_SUS,
             MI_BENDU,
         SHIFT_L, SHIFT_R,     MI_C_5, MI_Bb_4, MI_Ab_4,  MI_Fs_4, MI_E_4, MI_D_4, MI_C_4, MI_Bb_3, MI_Ab_3, MI_Fs_3, MI_E_3, MI_D_3, MI_C_3,  MI_Bb_2,  MI_Ab_2, MI_Fs_2, MI_E_2, MI_D_2, MI_C_2,
             MI_BENDD,           MI_B_4, MI_A_4, MI_G_4,  MI_F_4,  MI_Eb_4,  MI_Db_4, MI_B_3, MI_A_3, MI_G_3,  MI_F_3, MI_Eb_3,  MI_Db_3, MI_B_2, MI_A_2, MI_G_2,  MI_F_2,  MI_Eb_2,  MI_Db_2
@@ -263,20 +263,34 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
     /* Flip Trans   This layer must locate 1 layer above _FLIPBASE layer.  MI_TRNSU and MI_TRNSD are swapped. */
     [_FLIPTRANS] = LAYOUT(
-            _______,          _______,                             _______, _______,
+            _______,          _______,
             _______,
         MI_TRNSU, MI_TRNSD,   _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
             _______,               _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
     ),
 
     [_FN] =  LAYOUT(
-            _______,          XXXXXXX,                             RGB_RMOD, RGB_MOD,
+            _______,          XXXXXXX,
             MI_VELU,
         MI_OCTD, MI_OCTU,     B_BASE,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, B_LEFT, XXXXXXX, XXXXXXX, B_CENTER, XXXXXXX, XXXXXXX, B_RIGHT, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, XXXXXXX, B_FLIP,
             MI_VELD,               TGLINTR, TGLTRNS, TGLCHGR, XXXXXXX, XXXXXXX, RGB_SAD, RGB_SAI, RGB_HUD, RGB_HUI, RGB_SPD, RGB_SPI, RGB_VAD, RGB_VAI, RGB_RMOD, RGB_MOD, EEP_RST, TGLINDI, RGB_TOG
     )
 };
 
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+    [_BASE]         = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)  },
+    [_SEPALEFTOCT]  = { ENCODER_CCW_CW(_______, _______)  },
+    [_SEPAHALF]     = { ENCODER_CCW_CW(_______, _______)  },
+    [_SEPARIGHTOCT] = { ENCODER_CCW_CW(_______, _______)  },
+    [_TRANS]        = { ENCODER_CCW_CW(_______, _______)  },
+    [_FLIPBASE]     = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)  },
+    [_FLIPTRANS]    = { ENCODER_CCW_CW(_______, _______)  },
+    [_FN]           = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
+};
+#endif
+
+
 // commom codes called from eeconfig_init_user() and keyboard_post_init_user().
 void my_init(void){
     //  Set octave to MI_OCT_1
diff --git a/keyboards/chromatonemini/keymaps/party/rules.mk b/keyboards/chromatonemini/keymaps/party/rules.mk
index 2e67e80675..eb13370b82 100644
--- a/keyboards/chromatonemini/keymaps/party/rules.mk
+++ b/keyboards/chromatonemini/keymaps/party/rules.mk
@@ -1,3 +1,5 @@
 RGB_MATRIX_ENABLE = yes     # Use RGB matrix (Don't enable this when RGBLIGHT_ENABLE is used.)
 RGB_MATRIX_CUSTOM_KB = yes  #
 VIA_ENABLE = no             # too many layers to use VIA...
+
+ENCODER_MAP_ENABLE = yes    # replacing ENCODERS_CW_KEY method to this on 2022/08/31.
diff --git a/keyboards/chromatonemini/keymaps/via/config.h b/keyboards/chromatonemini/keymaps/via/config.h
deleted file mode 100644
index b5ee0ac04b..0000000000
--- a/keyboards/chromatonemini/keymaps/via/config.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#pragma once
-
-// How many layers to use with VIA / Remap.
-#define DYNAMIC_KEYMAP_LAYER_COUNT 4 // default:4
diff --git a/keyboards/chromatonemini/keymaps/via/keymap.c b/keyboards/chromatonemini/keymaps/via/keymap.c
index 08613515db..b4ea6e30fe 100644
--- a/keyboards/chromatonemini/keymaps/via/keymap.c
+++ b/keyboards/chromatonemini/keymaps/via/keymap.c
@@ -61,7 +61,7 @@ static bool is_trans_mode = false;     //  By default, shift mode is chosen.
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     /* Base */
     [_BASE] = LAYOUT(
-            FN_MUTE,         MI_SUS,                             KC_VOLD, KC_VOLU,
+            FN_MUTE,         MI_SUS,
             MI_BENDU,
         SHIFT_L, SHIFT_R,    MI_C_2, MI_D_2, MI_E_2,  MI_Fs_2, MI_Ab_2, MI_Bb_2, MI_C_3, MI_D_3, MI_E_3, MI_Fs_3, MI_Ab_3, MI_Bb_3, MI_C_4,  MI_D_4,  MI_E_4, MI_Fs_4, MI_Ab_4, MI_Bb_4, MI_C_5,
             MI_BENDD,           MI_Db_2, MI_Eb_2, MI_F_2,  MI_G_2,  MI_A_2,  MI_B_2, MI_Db_3, MI_Eb_3, MI_F_3,  MI_G_3, MI_A_3,  MI_B_3, MI_Db_4, MI_Eb_4, MI_F_4,  MI_G_4,  MI_A_4,  MI_B_4
@@ -69,7 +69,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
     /* TRANS   This layer must locate 1 layer below _FN layer. */
     [_TRANS] = LAYOUT(
-            _______,           _______,                             _______, _______,
+            _______,           _______,
             _______,
         MI_TRNSD, MI_TRNSU,   _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
             _______,               _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
@@ -77,20 +77,29 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 
     /* RESERVE */
     [_RESERVE] = LAYOUT(
-            _______,          _______,                             _______, _______,
+            _______,          _______,
             _______,
         _______, _______,      _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
             _______,               _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
     ),
 
     [_FN] =  LAYOUT(
-            _______,          XXXXXXX,                             RGB_RMOD, RGB_MOD,
+            _______,          XXXXXXX,
             MI_VELU,
         MI_OCTD, MI_OCTU,     B_BASE, DF(_RESERVE), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, XXXXXXX, XXXXXXX,
             MI_VELD,              TGLINTR,    TGLTRNS, XXXXXXX, XXXXXXX, XXXXXXX, RGB_SAD, RGB_SAI, RGB_HUD, RGB_HUI, RGB_SPD, RGB_SPI, RGB_VAD, RGB_VAI, RGB_RMOD, RGB_MOD, EEP_RST, TGLINDI, RGB_TOG
     )
 };
 
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+    [_BASE]         = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)  },
+    [_TRANS]        = { ENCODER_CCW_CW(_______, _______)  },
+    [_RESERVE]      = { ENCODER_CCW_CW(_______, _______)  },
+    [_FN]           = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
+};
+#endif
+
 // commom codes called from eeconfig_init_user() and keyboard_post_init_user().
 void my_init(void){
     //  Set octave to MI_OCT_1
diff --git a/keyboards/chromatonemini/keymaps/via/rules.mk b/keyboards/chromatonemini/keymaps/via/rules.mk
index 3de88c90c8..b4d2b42885 100644
--- a/keyboards/chromatonemini/keymaps/via/rules.mk
+++ b/keyboards/chromatonemini/keymaps/via/rules.mk
@@ -1,3 +1,5 @@
 RGB_MATRIX_ENABLE = yes     # Use RGB matrix (Don't enable this when RGBLIGHT_ENABLE is used.)
 RGB_MATRIX_CUSTOM_KB = yes  #
 VIA_ENABLE = yes
+
+ENCODER_MAP_ENABLE = yes    # replacing ENCODERS_CW_KEY method to this on 2022/08/31.
diff --git a/keyboards/chromatonemini/readme.md b/keyboards/chromatonemini/readme.md
index 4c018d01a9..34ba7e6f14 100644
--- a/keyboards/chromatonemini/readme.md
+++ b/keyboards/chromatonemini/readme.md
@@ -1,6 +1,6 @@
 # chromatonemini
 
-![chromatonemini](https://github.com/3araht/chromatonemini/blob/main/pictures/chromatonemini_toppage.jpg)
+![chromatonemini](https://i.imgur.com/SuXzf9Dh.jpg)
 
 chromatonemini keyboard is a simple-design Chromatone mini MIDI keyboard that covers 3 octaves (37 notes).
 
diff --git a/keyboards/chromatonemini/rules.mk b/keyboards/chromatonemini/rules.mk
index 29cfc35daf..0e94fdb0d7 100644
--- a/keyboards/chromatonemini/rules.mk
+++ b/keyboards/chromatonemini/rules.mk
@@ -1,22 +1,2 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-BOOTLOADER = caterina
-
-# Build Options
-#   change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = no        # Mouse keys
-EXTRAKEY_ENABLE = yes       # Audio control and System control
-CONSOLE_ENABLE = no         # Console for debug
-COMMAND_ENABLE = no         # Commands for debug and configuration
-NKRO_ENABLE = no            # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
-AUDIO_ENABLE = no           # Audio output
-MIDI_ENABLE = yes           # MIDI support
-ENCODER_ENABLE = yes        # encoder on mute button
 RGB_MATRIX_DRIVER = WS2812  #
 LTO_ENABLE = yes