Skip to content

Feature request: native support for layer-while-held events in Kanata #191

Description

@rpnfan

Currently Overkeys cannot display when a layer is realized with a held-key. That means it will not show my navigation layer, nor my symbol layer, which are realized in that way.

Working: OverKeys correctly shows the base layer (ende) and highlights keys as you type.

Not working, and not fixable from the Kanata side: OverKeys layer switching for layer-while-held and one-shot layers.

This is a hard limitation of how OverKeys communicates with Kanata. The TCP protocol only emits a LayerChange event for permanent layer-switch actions. Transient overlays, which is what both your navigation and symlayer are, are invisible to it. The push-msg workaround doesn't work because OverKeys filters for native Kanata events, not injected ones.

We would need native support for layer-while-held events. The Kanata TCP server does broadcast these internally, OverKeys just doesn't subscribe to them. Could you make that change?

Here for reference my Kanata config file: https://github.com/rpnfan/Anymak/releases

Metadata

Metadata

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions