New binding editor dialog #109
nickcoutsos
started this conversation in
Show and tell
Replies: 2 comments 1 reply
-
I like it, good job : ) |
Beta Was this translation helpful? Give feedback.
0 replies
-
hate it. I want a window to pop-up with advanced options but the default behavior is that I press key or key combo and the state is maintained for the key-press until the accept button is pushed. That'll make the default layer go so much more smoothly when assigning. Which is the least thought part of the process. |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Nobody just browses the discussions on this repo so if you're here you've probably seen the new dialog for key bindings
What?
I'm experimenting with a new interface for changing the various parameters that go into a key (or combo or macro or whatever) binding. Instead of clicking on the behavior part of a key, then getting zero or more parameter slots to click on and fill individually, clicking on a key will open a dialog where you can focus in on that key and its parameters.
So far this is only affecting layer bindings -- regular keymap stuff. When I'm satisfied that it's working well and that it isn't bad enough to destroy the userbase I can start applying it to other parts of the app that need to edit bindings, such as combos, tap dances, mod morphs, etc. I have to see how badly this might impact macros where there's also a click+drag interaction.
Why
I've been thinking about implementing this for some time, and while some of the reasons may be lost here are some that stick out:
Accessibility
This app has a ton of accessibility problems, but for now I'll focus on keyboard usability. Right now the main view has an insane amount of clickable elements (every key in your layout has at least one for the behavior, usually one more for
&kp
, and more for<
/mt
etc) that are basically inaccessible via keyboard navigation. They're also necessarily very small clickable elements which is worse.Moving those interactions to the dialog means each key is a single friendly clickable box, and when that dialog opens you get a smaller collection of clickable elements with bigger visual targets, bigger fonts, and more information. Tabbing between these elements would be a possibility, as well as keyboard shortcuts to accelerate your workflow.
Clarity
I don't have the means to perform usability tests or collect usage statistics but I suspect a lot of new users are confused about this. In fairness the visual cue of highlighting the entire key on hover could mislead people into thinking it's clickable, and that's on top of the confusion of newcomers to ZMK concepts.
Atomicity
I could not tell you how many times I've seen people create a combo or switch
&trans
binding to&kp
and just never bothered to set the remaining parameters. I suppose I could (and maybe should) prevent this disabling the save button if incomplete bindings are detected, but this dialog is a step towards avoiding the problem by forcing you to change a key's binding as a whole. If the binding requires more parameters that you haven't filled out, the dialog simply won't let you save those changes back to the keymap.Next Steps
Eventually (not any time soon) this could become something like the "user friendly" approach in other keymap editors where a user is just presented with options for different scenarios like tap versus hold versus double-tap and so on, as opposed to selecting and composing behaviors manually. To be clear, this feature is not attempting to implement that user experience right now, and that remains a very low priority for me.
I hope you will share your experience, positive or negative, with me here.
Beta Was this translation helpful? Give feedback.
All reactions