You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
Like I am sure many others (including you I think?) my defsrc is some qwerty-ish layout because that maps to my actual physical keyboards, and my "main" layer is dvorak.
I found by experimentation and reading docs that any base layers with transparent keys will use keys from the defsrc, as kanata does not have the layer stack concept that kmonad does. I almost never miss the stack concept and can appreciate that not having it reduces complexity quite a bit, but in this case I really do miss it. Basically any layer that doesn't have all keys mapped is just qwerty for all the transparent keys.
Describe the solution you'd like
I think a solution that could avoid any kind of layer stack would be to promote a layer to be the "base" or "main". It could be a setting, or it could just be the first layer. Just making it the first layer would make sense to me because the first layer already gets automatically used as the active layer when you run kanata. So in this case, maybe if there's a setting it would be a boolean "delegate-to-first-layer" or something, rather than a string layer name.
The text was updated successfully, but these errors were encountered:
layer-while-held delegates transparent keys to previous layer, but only for as long as the layer key is held. However, there is a trick with fakekeys to make it persistent that allows effectively emulating "layer-switch with transparent keys delegating to previous layer".
See #393 (comment) - an example that uses the above trick. You could use it to help you solve your problem for now.
This proposal seems like it's more backwards-compatible and workable than changing the action-layer selection method.
Some implementation details, in case someone wants to try their hand at this before I can get to it. The loop where the transparent actions get assigned is here:
Is your feature request related to a problem? Please describe.
Like I am sure many others (including you I think?) my defsrc is some qwerty-ish layout because that maps to my actual physical keyboards, and my "main" layer is dvorak.
I found by experimentation and reading docs that any base layers with transparent keys will use keys from the defsrc, as kanata does not have the layer stack concept that kmonad does. I almost never miss the stack concept and can appreciate that not having it reduces complexity quite a bit, but in this case I really do miss it. Basically any layer that doesn't have all keys mapped is just qwerty for all the transparent keys.
Describe the solution you'd like
I think a solution that could avoid any kind of layer stack would be to promote a layer to be the "base" or "main". It could be a setting, or it could just be the first layer. Just making it the first layer would make sense to me because the first layer already gets automatically used as the active layer when you run kanata. So in this case, maybe if there's a setting it would be a boolean "delegate-to-first-layer" or something, rather than a string layer name.
The text was updated successfully, but these errors were encountered: