rvaiya / keyd

A key remapping daemon for linux.
MIT License
2.54k stars 155 forks source link

Multitap Functionality #473

Open eldun opened 1 year ago

eldun commented 1 year ago

Hi,

First, I love keyd. Thank you.

I was wondering if there's any chance of implementing something like Tap Dance in keyd.

I read through the man page and didn't see anything about multitaps, but would love to be proven wrong. I imagine I could cobble something together with a bunch of different layers and timeouts, but I thought I would check here first.

nsbgn commented 1 year ago

You can often implement something like tap-dance by juggling oneshots or oneshotms. For example:

[main]
. = oneshotm(tap1, .)

[tap1]
. = oneshotm(tap2, macro(backspace :))

[tap2]
. = macro(backspace …)

Would that cover your use case? There may be other ways to achieve something similar.

I think dedicated functionality has been discussed before (I will pull up the issues later). Maybe there's a case to be made for them again if there's significant drawbacks to existing methods?