X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=quantum%2Fquantum.c;h=9c6ed3330e5a068134ea428df41161782d4359ce;hb=0fab3bbde33f82301a8c5e177c3c0ceb7ad2219c;hp=2bd2c71af56206ff63eccb454ff2cdc120c11830;hpb=b2877470ced1deb9651ecb39f6a82f5ef380b399;p=qmk_firmware.git diff --git a/quantum/quantum.c b/quantum/quantum.c index 2bd2c71af..9c6ed3330 100644 --- a/quantum/quantum.c +++ b/quantum/quantum.c @@ -312,8 +312,16 @@ bool process_record_quantum(keyrecord_t *record) { #endif #if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE) case RGB_TOG: + // Split keyboards need to trigger on key-up for edge-case issue + #ifndef SPLIT_KEYBOARD if (record->event.pressed) { + #else + if (!record->event.pressed) { + #endif rgblight_toggle(); + #ifdef SPLIT_KEYBOARD + RGB_DIRTY = true; + #endif } return false; case RGB_MODE_FORWARD: @@ -325,6 +333,9 @@ bool process_record_quantum(keyrecord_t *record) { else { rgblight_step(); } + #ifdef SPLIT_KEYBOARD + RGB_DIRTY = true; + #endif } return false; case RGB_MODE_REVERSE: @@ -336,36 +347,87 @@ bool process_record_quantum(keyrecord_t *record) { else { rgblight_step_reverse(); } + #ifdef SPLIT_KEYBOARD + RGB_DIRTY = true; + #endif } return false; case RGB_HUI: + // Split keyboards need to trigger on key-up for edge-case issue + #ifndef SPLIT_KEYBOARD if (record->event.pressed) { + #else + if (!record->event.pressed) { + #endif rgblight_increase_hue(); + #ifdef SPLIT_KEYBOARD + RGB_DIRTY = true; + #endif } return false; case RGB_HUD: + // Split keyboards need to trigger on key-up for edge-case issue + #ifndef SPLIT_KEYBOARD if (record->event.pressed) { + #else + if (!record->event.pressed) { + #endif rgblight_decrease_hue(); + #ifdef SPLIT_KEYBOARD + RGB_DIRTY = true; + #endif } return false; case RGB_SAI: + // Split keyboards need to trigger on key-up for edge-case issue + #ifndef SPLIT_KEYBOARD if (record->event.pressed) { + #else + if (!record->event.pressed) { + #endif rgblight_increase_sat(); + #ifdef SPLIT_KEYBOARD + RGB_DIRTY = true; + #endif } return false; case RGB_SAD: + // Split keyboards need to trigger on key-up for edge-case issue + #ifndef SPLIT_KEYBOARD if (record->event.pressed) { + #else + if (!record->event.pressed) { + #endif rgblight_decrease_sat(); + #ifdef SPLIT_KEYBOARD + RGB_DIRTY = true; + #endif } return false; case RGB_VAI: + // Split keyboards need to trigger on key-up for edge-case issue + #ifndef SPLIT_KEYBOARD if (record->event.pressed) { + #else + if (!record->event.pressed) { + #endif rgblight_increase_val(); + #ifdef SPLIT_KEYBOARD + RGB_DIRTY = true; + #endif } return false; case RGB_VAD: + // Split keyboards need to trigger on key-up for edge-case issue + #ifndef SPLIT_KEYBOARD if (record->event.pressed) { + #else + if (!record->event.pressed) { + #endif rgblight_decrease_val(); + #ifdef SPLIT_KEYBOARD + RGB_DIRTY = true; + #endif } return false; case RGB_SPI: @@ -381,6 +443,9 @@ bool process_record_quantum(keyrecord_t *record) { case RGB_MODE_PLAIN: if (record->event.pressed) { rgblight_mode(1); + #ifdef SPLIT_KEYBOARD + RGB_DIRTY = true; + #endif } return false; case RGB_MODE_BREATHE: