diff --git a/keyboards/fingerpunch/vulpes_majora/config.h b/keyboards/fingerpunch/vulpes_majora/config.h
index be62b06ea3..2e173a0450 100644
--- a/keyboards/fingerpunch/vulpes_majora/config.h
+++ b/keyboards/fingerpunch/vulpes_majora/config.h
@@ -31,12 +31,24 @@ along with this program. If not, see .
#define DEFAULT_RGB_LAYER_MODE RGBLIGHT_MODE_TWINKLE+2
// 6 column rgb config
#define RGBLED_NUM 45
- // 5 column rgb config
- // #define RGBLED_NUM 39
#define RGBLIGHT_HUE_STEP 16
#define RGBLIGHT_SAT_STEP 16
#define RGBLIGHT_VAL_STEP 16
#define RGBLIGHT_LIMIT_VAL 150 /* The maximum brightness level for RGBLIGHT_ENABLE */
+
+ // 5 column rgb config
+ #ifdef FP_VM_5COL
+ #undef RGBLED_NUM
+ #define RGBLED_NUM 39
+ #endif
+ // VIK only rgb config
+ #ifdef FP_VM_RGB_VIK_ONLY
+ #undef RGBLED_NUM
+ #define RGBLED_NUM 4
+ #undef RGBLIGHT_LIMIT_VAL
+ #define RGBLIGHT_LIMIT_VAL 255
+ #endif
+
#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_BREATHING
@@ -52,10 +64,22 @@ along with this program. If not, see .
#ifdef RGB_MATRIX_ENABLE
// 6 column rgb config
#define RGB_MATRIX_LED_COUNT 45
- // 5 column rgb config
- // #define RGB_MATRIX_LED_COUNT 39
#define RGB_MATRIX_CENTER {100, 32}
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 /* The maximum brightness level for RGB_MATRIX */
+
+ // 5 column rgb config
+ #ifdef FP_VM_5COL
+ #undef RGB_MATRIX_LED_COUNT
+ #define RGB_MATRIX_LED_COUNT 39
+ #endif
+ // VIK only rgb config
+ #ifdef FP_VM_RGB_VIK_ONLY
+ #undef RGBLED_NUM
+ #define RGBLED_NUM 4
+ #undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
+ #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255
+ #endif
+
#define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set
#define RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
diff --git a/keyboards/fingerpunch/vulpes_majora/rules.mk b/keyboards/fingerpunch/vulpes_majora/rules.mk
index bdc147b644..2fda0f9f0f 100644
--- a/keyboards/fingerpunch/vulpes_majora/rules.mk
+++ b/keyboards/fingerpunch/vulpes_majora/rules.mk
@@ -39,6 +39,15 @@ CUSTOM_MATRIX = lite
SERIAL_DRIVER = vendor
WS2812_DRIVER = vendor
+ifeq ($(strip $(FP_VM_RGB_VIK_ONLY)), yes)
+ OPT_DEFS += -DFP_VM_RGB_VIK_ONLY
+endif
+
+# default is 6 column, specify if building a 5 col
+ifeq ($(strip $(FP_VM_5COL)), yes)
+ OPT_DEFS += -DFP_VM_5COL
+endif
+
ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes)
RGB_MATRIX_CUSTOM_KB = yes
OPT_DEFS += -DRGB_MATRIX_CUSTOM_KB
diff --git a/keyboards/fingerpunch/vulpes_majora/v1/config.h b/keyboards/fingerpunch/vulpes_majora/v1/config.h
index 0871efecb0..77d1a3b8cc 100644
--- a/keyboards/fingerpunch/vulpes_majora/v1/config.h
+++ b/keyboards/fingerpunch/vulpes_majora/v1/config.h
@@ -17,6 +17,8 @@ along with this program. If not, see .
#pragma once
+#define FP_SR595_MATRIX_DEBUG
+
/* key matrix size */
/* Rows are doubled up */
#define MATRIX_ROWS 9
diff --git a/keyboards/fingerpunch/vulpes_majora/v1/v1.h b/keyboards/fingerpunch/vulpes_majora/v1/v1.h
index ce2752414a..fe10b75519 100644
--- a/keyboards/fingerpunch/vulpes_majora/v1/v1.h
+++ b/keyboards/fingerpunch/vulpes_majora/v1/v1.h
@@ -33,7 +33,7 @@
K00, K01, K02, K03, K04, K05, K35, K34, K33, K32, K31, K30, \
K10, K11, K12, K13, K14, K15, K45, K44, K43, K42, K41, K40, \
K20, K21, K22, K23, K24, K25, K55, K54, K53, K52, K51, K50, \
- K06, K16, K26, K62, K63, K64, K36, K46, K56, \
+ K06, K16, K26, K62, K63, K64, K56, K46, K36, \
K71, K07, K17, K27, K37, K47, K57, K81, \
K72, K76, K73, K82, K86, K83, \
K74, K84 \