vial-kb / vial-qmk

QMK fork with Vial-specific features.
https://get.vial.today/
GNU General Public License v2.0
811 stars 2.32k forks source link

QMK Issue with RGB layers #383

Open quiquos opened 1 year ago

quiquos commented 1 year ago

I'm facing a strange behavior on my sofle keyboard. I have enabled RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF, so RGB turns ON for layers when the RGB is OFF.

This is my config.h regarding RGBLIGHT

#ifdef RGBLIGHT_ENABLE
    #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
    #define RGBLIGHT_LAYERS
    #define RGBLIGHT_MAX_LAYERS 4
    #define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
    #define RGBLIGHT_LAYERS_RETAIN_VAL
    #define RGB_DI_PIN D3
    #define RGBLED_NUM 72
    #define RGBLIGHT_LIMIT_VAL 150
    #define RGB_SPLIT {36,36}
    #define SPLIT_TRANSPORT_MIRROR
    #define RGBLIGHT_SPLIT
    #define RGBLIGHT_EFFECT_RGB_TEST
    #define RGBLIGHT_DEFAULT_HUE 180
    #define RGBLIGHT_HUE_STEP 10
    #define RGBLIGHT_SAT_STEP 10
    #define RGBLIGHT_VAL_STEP 10
#endif

This is my rules.mk

MCU = atmega32u4
BOOTLOADER = halfkay
OLED_ENABLE = yes
OLED_DRIVER = SSD1306
ENCODER_ENABLE = yes
ENCODER_MAP_ENABLE = yes
VIA_ENABLE = yes
VIAL_ENABLE = yes
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight/underglow
SPLIT_KEYBOARD = yes
WPM_ENABLE = yes
EXTRAKEY_ENABLE = yes # Audio control and System control
LTO_ENABLE = yes
VIAL_INSECURE = yes
MOUSEKEY_ENABLE = yes # Mouse keys
# SPLIT_TRANSPORT = custom

QMK_SETTINGS = no
GRAVE_ESC_ENABLE = no
MAGIC_ENABLE = no
COMBO_ENABLE = no
ONE_SHOT_KEYS_ENABLE = no
AUTO_SHIFT_ENABLE = no

KEY_OVERRIDE_ENABLE = no
COMMAND_ENABLE = no # Commands for debug and configuration
CONSOLE_ENABLE = no # Console for debug
SPACE_CADET_ENABLE = no
MIDI_ENABLE = no
RGB_MATRIX_ENABLE = no
BACKLIGTH_ENABLE = no # Enable keyboard backlight functionality
VERBOSE = no
# Do not enable SLEEP_LED_ENABLE with backligth. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
#BACKLIGHT_DRIVER = pwm
BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output

TAP_DANCE_ENABLE = no

AVR_USE_MINIMAL_PRINTF = yes

The problem is that the RGB only turns ON, on the side where the USB cable is plugged and does not "mirror" to the other side.

Ex: I have USB plugged to the left side (defined as master), RGB OFF. I press a layer key and the light goes ON, but only on the left side, the right side (slave) stays with RGB OFF.

It was supposed to send the same data to the slave, but it just won't turn them ON, but if the leds are ON, then by pressing a layer key, RGB layer leds change color on both sides.

Any ideas on what I am missing??

lesshonor commented 1 year ago

This may be related to https://github.com/qmk/qmk_firmware/pull/20097

Consider testing with that PR and seeing if it helps.

quiquos commented 1 year ago

Sadly it didn't work. With RGB turned off and RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF defined, it still doesn't work, only master RGB lights up when a layer key is pressed.