Skip to content

Allow defining complex parallel trigger sequences #2267

Description

@ilonachan

Have you checked if an issue already exists for this feature request?

  • Nobody else has requested this feature before

What feature would you like added?

Currently, multi-key triggers are either "sequential" or "parallel". To model key modifiers like Shift+2, parallel mode would be used. To model a compose key sequence like the infamous "emdash", I'd use (e.g.) CapsLock+"-"+"-"+"-" in sequence mode (using sequences from WinCompose for reference).

My problem is related to #2126: I want to define a compose sequence involving both of these. As in, "Compose"->(Shift+2)->"a" (which would result in "ä"). This would require the ability to have parallel triggers within a sequential trigger. That's not currently possible, since the sequence mode is global for the entire trigger setup and no grouping mechanism seems to exist (and modifiers don't get special treatment, obviously).

In terms of UX, my suggestion would be to ditch the global sequential/parallel toggle, and have it always be a sequence. But each element of the sequence can be a parallel list of keys. How this would be exposed through the trigger recording feature I'm unsure, but having the user perform the exact trigger sequence they want anyway seems fine — as in, to define a parallel trigger, the keys would actually need to be pressed simultaneously.

Alternatively or additionally, since the UI currently distinguishes the modes visually by switching the symbol separating keys between an arrow and a plus sign, the user could tap each of these symbols individually to choose if it means "and also at the same time" or "and after that".

I'm under no illusion that this would be easy though, and it would almost certainly overlap with or impact #988.

App version

4.4.0-foss 264

Device model and manufacturer

Google Pixel 9 Pro

Extra info

  • My device is rooted

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions