From 162f65aee7b463028a410d90065fb8781d53a245 Mon Sep 17 00:00:00 2001 From: Ricky Zhang Date: Sat, 18 Jul 2026 14:26:07 -0400 Subject: [PATCH 1/2] fix(keymap): restore no_init param dropped in refil #3047 cherry-pick --- app/src/keymap.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/src/keymap.c b/app/src/keymap.c index ce3ec7c9130..3df1652cadf 100644 --- a/app/src/keymap.c +++ b/app/src/keymap.c @@ -72,15 +72,16 @@ static uint8_t keymap_layer_orders[ZMK_KEYMAP_LAYERS_LEN]; #endif // IS_ENABLED(CONFIG_ZMK_KEYMAP_LAYER_REORDERING) -#define KEYMAP_VAR(_name, _opts) \ +#define KEYMAP_VAR(_name, _opts, no_init) \ static _opts struct zmk_behavior_binding _name[ZMK_KEYMAP_LAYERS_LEN][ZMK_KEYMAP_LEN] = { \ COND_CODE_0(no_init, (ZMK_KEYMAP_LAYERS_FOREACH_SEP(TRANSFORMED_LAYER, (, ))), (0))}; -KEYMAP_VAR(zmk_keymap, COND_CODE_1(IS_ENABLED(CONFIG_ZMK_KEYMAP_SETTINGS_STORAGE), (), (const))) +KEYMAP_VAR(zmk_keymap, COND_CODE_1(IS_ENABLED(CONFIG_ZMK_KEYMAP_SETTINGS_STORAGE), (), (const)), + IS_ENABLED(CONFIG_ZMK_STUDIO)) #if IS_ENABLED(CONFIG_ZMK_KEYMAP_SETTINGS_STORAGE) -KEYMAP_VAR(zmk_stock_keymap, const) +KEYMAP_VAR(zmk_stock_keymap, const, 0) static char zmk_keymap_layer_names[ZMK_KEYMAP_LAYERS_LEN][CONFIG_ZMK_KEYMAP_LAYER_NAME_MAX_LEN] = { ZMK_KEYMAP_LAYERS_FOREACH_SEP(LAYER_NAME, (, ))}; From 3d3db8710577a0c6a80c3f43c2e01e322661f123 Mon Sep 17 00:00:00 2001 From: Ricky Zhang Date: Sat, 18 Jul 2026 14:54:20 -0400 Subject: [PATCH 2/2] fix(keymap): call reload_from_stock_keymap in keymap_init for Studio builds --- app/src/keymap.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/src/keymap.c b/app/src/keymap.c index 3df1652cadf..351c48bcc97 100644 --- a/app/src/keymap.c +++ b/app/src/keymap.c @@ -954,6 +954,9 @@ int keymap_init(void) { #if IS_ENABLED(CONFIG_ZMK_KEYMAP_LAYER_REORDERING) load_stock_keymap_layer_ordering(); #endif +#if IS_ENABLED(CONFIG_ZMK_STUDIO) + reload_from_stock_keymap(); +#endif return 0; }