Skip to content

Multiple KeyTypes on the same key #9

@qwelyt

Description

@qwelyt

Having OnHold and DoubleTap is all nice and dandy. But I should not have to choose between them! I should be able to have both on the same key.

I should be able to say

(
   KeyCode(A), 
   DoubleTap(KeyCode(Esc), 100ms), 
   OnHold(KeyCode(Shift), 100ms), 
   TapHold(Function(...), 100ms, 100ms),
   DoubleTapHold(LayerMo(4), 100ms, 100ms, 50ms)

And that is ONE key. I should be able to do all the things on one and the same key without there being any problems. So this key for example would write A when pressed normally. If pressed twice within 100ms it would produce Esc. If held for 100ms it would produce Shift. You get far by just allowing this.
But I want more. TapHold would be press-release-press-hold, and that would execute a Function here.
DoubleTapHold is the same thing, but press-release-press-release-press-hold. And that would move us to to layer+4.

This allows one key to suddenly become 5 keys.

On top of this we have Chording and Combo that needs to be handled somehow. But all types should be allowed, always.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions