jtroo / kanata

Improve keyboard comfort and usability with advanced customization
GNU Lesser General Public License v3.0
2.37k stars 116 forks source link

Feature request: tooltip for displaying layer or hold time #741

Open gkstlr202 opened 8 months ago

gkstlr202 commented 8 months ago

Is your feature request related to a problem? Please describe.

I would like to request a tooltip feature for displaying layer or hold time.

Describe the solution you'd like.

For example, when I switch to a layer, it would be helpful if the tooltip displayed at the mouse cursor position confirms whether the layer transition was successful. Alternatively, displaying the hold time or the number of taps could be helpful, allowing users to verify if the key that user want is pressed during tap hold or tap dance. Do you have any plans to add this feature in the next version?

Describe alternatives you've considered.

I'm currently using AutoHotkey's tooltip feature to implement something similar, where I insert font colors and set a black background to ensure good visibility of the text. It's inconvenient as it requires running two separate programs, so I think adding this functionality directly would make it more intuitive and user-friendly, unless it's a complex code to implement.

Additional context

No response

jtroo commented 8 months ago

Presently there are no plans for any UI additions. I would prefer this to be done externally to Kanata, since Kanata has no code to interact with the desktop/UI at a visual level today.

TCP communication should help with that. There is already the layer change event, but nothing for arbitrary tap hold.

An idea is to add a custom action that sends an arbitrary message over TCP, and which could be used with multi inside of a tap-hold to notify the other program of the tap-hold completion.

eugenesvk commented 5 months ago

As a workaround you could use a tray windows app to display layer transition as an icon in the system tray

An even better position than that of a mouse pointer would be actual text cursor https://github.com/jtroo/kanata/issues/626, though that's also unfortunately more complicated