From 1567e29e9ef714676bcea718f045b376ed17d1c4 Mon Sep 17 00:00:00 2001 From: Chloe Surett Date: Mon, 8 Dec 2025 12:10:50 -0500 Subject: [PATCH] Make RETAIL_DEMO_ENABLE work when unset. Also moved FACTORY_TEST_ENABLE and RETAIL_DEMO_ENABLE to their own lines. --- keyboards/keychron/common/keychron_common.mk | 4 +++- keyboards/keychron/common/rgb/keychron_rgb.c | 12 ++++++++++++ keyboards/keychron/common/rgb/rgb.mk | 3 ++- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/keyboards/keychron/common/keychron_common.mk b/keyboards/keychron/common/keychron_common.mk index aa8801f0cd2d..d95583514466 100644 --- a/keyboards/keychron/common/keychron_common.mk +++ b/keyboards/keychron/common/keychron_common.mk @@ -1,4 +1,6 @@ -OPT_DEFS += -DFACTORY_TEST_ENABLE -DAPDAPTIVE_NKRO_ENABLE -DVIA_INSECURE +OPT_DEFS += -DFACTORY_TEST_ENABLE +OPT_DEFS += -DAPDAPTIVE_NKRO_ENABLE +OPT_DEFS += -DVIA_INSECURE OPT_DEFS += -DSTATE_NOTIFY_ENABLE KEYCHRON_COMMON_DIR = $(TOP_DIR)/keyboards/keychron/common diff --git a/keyboards/keychron/common/rgb/keychron_rgb.c b/keyboards/keychron/common/rgb/keychron_rgb.c index 092a6afc997f..3364f8487271 100644 --- a/keyboards/keychron/common/rgb/keychron_rgb.c +++ b/keyboards/keychron/common/rgb/keychron_rgb.c @@ -36,8 +36,12 @@ # define PER_KEY_RGB_VER 0x0001 # define OFFSET_OS_INDICATOR ((uint8_t *)(EECONFIG_BASE_CUSTOM_RGB)) +#ifdef RETAIL_DEMO_ENABLE # define OFFSET_RETAIL_DEMO (OFFSET_OS_INDICATOR + sizeof(os_indicator_config_t)) # define OFFSET_PER_KEY_RGB_TYPE (OFFSET_RETAIL_DEMO + sizeof(retail_demo_enable)) +#else +# define OFFSET_PER_KEY_RGB_TYPE (OFFSET_OS_INDICATOR + sizeof(os_indicator_config_t)) +#endif # define OFFSET_PER_KEY_RGBS (OFFSET_PER_KEY_RGB_TYPE + sizeof(per_key_rgb_type)) # define OFFSET_LAYER_FLAGS (OFFSET_PER_KEY_RGBS + sizeof(per_key_led)) # define OFFSET_EFFECT_LIST (OFFSET_LAYER_FLAGS + sizeof(regions)) @@ -60,7 +64,9 @@ enum { MIXED_EFFECT_RGB_SET_EFFECT_LIST, }; +#ifdef RETAIL_DEMO_ENABLE extern uint8_t retail_demo_enable; +#endif extern uint8_t per_key_rgb_type; extern HSV per_key_led[RGB_MATRIX_LED_COUNT]; extern HSV default_per_key_led[RGB_MATRIX_LED_COUNT]; @@ -79,9 +85,11 @@ void eeconfig_reset_custom_rgb(void) { os_ind_cfg.hsv.s = 0; os_ind_cfg.hsv.h = os_ind_cfg.hsv.v = 0xFF; + #ifdef RETAIL_DEMO_ENABLE eeprom_update_block(&os_ind_cfg, OFFSET_OS_INDICATOR, sizeof(os_ind_cfg)); retail_demo_enable = 0; eeprom_read_block(&retail_demo_enable, (uint8_t *)(OFFSET_RETAIL_DEMO), sizeof(retail_demo_enable)); + #endif per_key_rgb_type = 0; eeprom_update_block(&per_key_rgb_type, OFFSET_PER_KEY_RGB_TYPE, sizeof(per_key_rgb_type)); @@ -113,7 +121,9 @@ void eeconfig_init_custom_rgb(void) { eeprom_update_dword(EECONFIG_KEYBOARD, (EECONFIG_KB_DATA_VERSION)); eeprom_read_block(&os_ind_cfg, OFFSET_OS_INDICATOR, sizeof(os_ind_cfg)); + #ifdef RETAIL_DEMO_ENABLE eeprom_read_block(&retail_demo_enable, (uint8_t *)(OFFSET_RETAIL_DEMO), sizeof(retail_demo_enable)); + #endif if (os_ind_cfg.hsv.v < 128) os_ind_cfg.hsv.v = 128; // Load per key rgb led @@ -125,9 +135,11 @@ void eeconfig_init_custom_rgb(void) { update_mixed_rgb_effect_count(); } +#ifdef RETAIL_DEMO_ENABLE void rgb_save_retail_demo(void) { eeprom_update_block(&retail_demo_enable, (uint8_t *)(OFFSET_RETAIL_DEMO), sizeof(retail_demo_enable)); } +#endif static bool rgb_get_version(uint8_t *data) { data[1] = PER_KEY_RGB_VER & 0xFF; diff --git a/keyboards/keychron/common/rgb/rgb.mk b/keyboards/keychron/common/rgb/rgb.mk index 984283400735..db1d99d162c1 100644 --- a/keyboards/keychron/common/rgb/rgb.mk +++ b/keyboards/keychron/common/rgb/rgb.mk @@ -1,4 +1,5 @@ -OPT_DEFS += -DKEYCHRON_RGB_ENABLE -DRETAIL_DEMO_ENABLE +OPT_DEFS += -DKEYCHRON_RGB_ENABLE +OPT_DEFS += -DRETAIL_DEMO_ENABLE RGB_MATRIX_CUSTOM_KB = yes RGB_MATRIX_DIR = $(TOP_DIR)/keyboards/keychron/common/rgb