nickcoutsos / keymap-editor

A web based graphical editor of ZMK keymaps.
http://nickcoutsos.github.io/keymap-editor
MIT License
1.07k stars 277 forks source link

Warning for combo variables #197

Open FabianoLothor opened 5 months ago

FabianoLothor commented 5 months ago

I recently got an issue when creating multiple combos for the same thumb keys due the value of CONFIG_ZMK_COMBO_MAX_COMBOS_PER_KEY.

Its default value is 5: https://zmk.dev/docs/config/combos

I'd 7 macros configured for the same keys and it took me some time until I figure out what was the issue.

Do you see any value in add some sort of warning when this happens?

We also have:

Certainly this doesn't happen often and I would consider it just a "nice to have" feature.

I know ZMK restricts other things through variables, so maybe this request could be extended to something more wide.

nickcoutsos commented 5 months ago

Definitely a nice to have. The trouble for me in the short term is that although we have these configurations to look at and they're all well documented, there are so many places where the configuration could exist and could change between fetches that it ends up being a lot of API calls.

Eventually this would be a non-issue because all of the data I need will come directly from the keyboard through ZMK Studio's protocol.

As a short term thing I might use the defaults as "typical" limits and present warnings in the UI that make it clear individual users may have different setups, linking to relevant documentation for additional details.

ujl123 commented 1 month ago

Came in here by searching "CONFIG_ZMK_COMBO_MAX_COMBOS_PER_KEY" and had the same issue. There was no warning regarding going over the max default and I tried everything like debugging key positions, trying different key codes etc until I worked it out. A soft warning until the new api would be cool.

That being said, when does the new ZMK studio protocols start?

nickcoutsos commented 1 month ago

Preliminary work on ZMK Studio is already started, but this project is unrelated. Sorry I left this hanging so long. I'll have to see where I left off with trying to lay out the warning messages and see if there's a less involved approach for the short term.