Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarify &bootloader behavior on dongle-connected boards #2652

Open
kmandarin-orange opened this issue Nov 17, 2024 · 9 comments
Open

Clarify &bootloader behavior on dongle-connected boards #2652

kmandarin-orange opened this issue Nov 17, 2024 · 9 comments
Labels
documentation Improvements or additions to documentation

Comments

@kmandarin-orange
Copy link

I'm not knowledgeable enough about zmk to know if this is possible, so this might be a feature request, but I'd like to make the &bootloader feature work in the "expected" way with my dongle-connected TOTEM split keyboard.

According to the ZMK docs, the bootloader feature only affects the side of the keyboard it's invoked from. This is useful on the standard Bluetooth split keeb that has a single "master" side, but is less useful when a dongle setup's master controller is the dongle board itself, and that's the one you intend to re-flash with new keymaps. This made me wonder if there was some workaround to make this command target a specific micro controller, or if there would be a way to make a new function that'd trigger the bootloader on the master board specifically.

@Nick-Munnich
Copy link
Contributor

Nick-Munnich commented Nov 17, 2024

You can apply a workaround by binding &bootloader to a combo, which always triggers the behavior on the central. Related: #2500

@kmandarin-orange
Copy link
Author

Something like this?

Bootloader {
            bindings = <&bootloader>;
            key-positions = <20 34 25 35 31>;
        };

I've given this a shot now, but it doesn't seem to be working. I'm making sure to press all the keys at exactly the same time, but the dongle board isn't entering bootloader mode. Oddly though, all my other combos are working just fine. Am I making some kind of mistake here?

@Nick-Munnich
Copy link
Contributor

https://zmk.dev/docs/config/combos#kconfig Probably running into this.

@kmandarin-orange
Copy link
Author

Ah lord, should've double-checked the docs. After fixing that up, things worked as expected! Thank you so much for the help.

On the topic of documentation and the &bootloader feature, I stumbled on a related issue #1805 earlier, which talks some about changing some wording on the &bootloader docs page, and I agree it might be worth mentioning the details/logic of combo vs. &bootloader behavior. If that issue would be a better place to continue the discussion, I can close this issue and add to the conversation there. If that's out of the scope of that issue, I could rename this issue or make a new one to target a discussion about adding some information to that bootloader section.

@caksoylar
Copy link
Contributor

The information is already in two places: combos page and split keyboards feature page. I guess it wouldn't hurt much to repeat it in https://zmk.dev/docs/keymaps/behaviors/reset#split-keyboards either, given this came up a few times.

@kmandarin-orange
Copy link
Author

Yeah, I missed the info in the combos page since I figured it'd be under the "Split Keyboards" section in the Reset Behaviors page.

Maybe to avoid duplicating wording, we could refer back to those pages from that section with something like "To always target the central board no matter where the shortcut is invoked from, try the combo functionality and review source locality documentation." Just having a short hook to make the connection to those other sections would probably help people connect those dots more easily.

@caksoylar
Copy link
Contributor

I think a mention of combos and a link could be good, agreed.

@kmandarin-orange
Copy link
Author

Sweet, that sounds good! I can go ahead and close this issue if you think it's served its purpose.

@kmandarin-orange kmandarin-orange changed the title Improve &bootloader Feature on Dongle-Connected Boards Clarify &bootloader behavior on dongle-connected boards Nov 19, 2024
@caksoylar
Copy link
Contributor

Let's keep it open as a reminder to me (or anyone else) to add the pointer to the docs.

@caksoylar caksoylar added the documentation Improvements or additions to documentation label Nov 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

3 participants