conventoangelo / conventoangelo/OverKeys

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

Open
#191 1 comment 1 reaction 1 assignee Claimed by @conventoangelo View on GitHub
enhancement
Dominant language
Dart
Stars
244
Forks
24
PR merge metrics
No merged PRs in 30d

Description

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

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.