#Is it possible to put the non-primary half of a split zmk into flash mode w/o physical reset button?

1 messages · Page 1 of 1 (latest)

lapis bear
#

I think the answer is no but figured I'd ask. I know I can put the primary half into bootloader mode (is that the official term for flashing mode?) via a key behavior but my research shows the same is not true for the other half.

patent jasper
#

Does pressing a key switch button counts as physical click? &bootloader works on peripheral sides too.

#

If you mean literally not touching the keyboard, I don't think there's a way

lapis bear
#

Is it possible to put the non-primary half of a split zmk into flash mode w/o physical reset button?

lapis bear
#

Ah my bad, I just meant avoiding the physical reset button. I am not sure I ever got bootloader to work on non-primary half but maybe I just mapped the wrong thing

#

oh do I want &sys_reset instead of &bootloader?

patent jasper
#

&sys_reset is basically reboot. &bootloader is for flashing new firmware.

#

Using &bootloader on peripheral side requires the keyboard part connected to the central part. The peripheral part sends key down and up events to central, central part does keymap processing, central sends command to the peripheral part and it reboot into bootloader mode.

#

That means it won't work if the central part is powered down, or they are not connected for whatever reason

lapis bear
#

Makes sense, thanks!

lapis bear
#

So I mapped &bootloader to a key on the periperal half (it is on a layer which is activated from a key on the main half) but it doesn't seem to do anything. I did set this behavior via ZMK studio if that matters

#

Any ideas? It is connected to the primary half via bluetooth

#

It doesn't work even if I put the bootloader mapping on the main layer either

#

chatgpt interprets that bootloader can't be executed on non-main half because all the processing happens on main half

#

ya this all works fine for the primary half, can't get it to work for other half

bright sage
#

It would be more useful for you to share your config

#

-# than share what chatgpt made up

patent jasper
lapis bear
#

I also tested it myself and I can't get it to work. Let me share my keymap

#

than share what chatgpt made up
I'd say the docs aren't that clear on this point to be fair. I also didn't say I blindly trusted what chatgpt says, I just said that I tried to use it to answer my question

lapis bear
bright sage
#

Since you added it to the keymap file, can you try restoring to stock settings in Studio then using the new key?

#

(There isn't a general problem, I use this functionality daily)

#

Sometimes nano clones have wonky behavior with bootloader triggering too, is this an aliexpress controller?

patent jasper
#

If you weren't, you should flash the left side (central side). The central side has the keymap, peripheral don't know about keymap at all.

lapis bear
#

Oh, I'm dumb lol. Is it completely unnecessary to flash the right side of the board for keymap changes? is it only necessary to do that for the initial flash of a unboxed controller?

#

for some reason I had it my head that I should flash both sides. I mean... why does ZMK generate both halves for each build 🤔 ?

patent jasper
#

For keymap changes only, yes you can flash central side only. You might still want to flash the right side periodically to get potential bug fixes and new features (especially if you on on ZMK main)

#

why does ZMK generate both halves for each build
Actions in public github repositories are free so there's really not that much incentive to optimize I guess. And how would a workflow that only build necessary changes looks like?