Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: multiple action sequence for a single gesture #215

Open
camslice opened this issue Aug 28, 2024 · 3 comments
Open

Feature Request: multiple action sequence for a single gesture #215

camslice opened this issue Aug 28, 2024 · 3 comments

Comments

@camslice
Copy link

Hey Ryan, really great app. I use it for both window management and trackpad gestures. It has replaced multiple other apps. Very happy with my purchase and would be happy to "buy you a coffee" to get my feature request prioritised :)

It would be great to be able to sequence multiple actions for a single gesture. For example, three finger tap triggers a mouse middle click, then triggers ESC on the keyboard.

This would provide a way to work around the additional click that is fired by the three finger tap gesture when when "three finger drag" is enabled.

My use case is in the browser, using middle click to open a link in a new tab. My current workaround:

  1. Three finger tap gesture triggers middle click
  2. Link opens in a new tab
  3. Current tab also start loading the link because of the additional click
  4. I immediately press ESC on the keyboard to prevent the current tab from loading the link

In terms of the UI, I wonder if it could be as simple as stacking up the gestures & actions in the order you want them to trigger? I actually tried this and crossed my fingers haha:
multitouch – multiple trackpad actions

Repository owner deleted a comment Aug 28, 2024
@rxhanson
Copy link
Owner

Thanks! The reason that Multitouch doesn't have multiple sequential actions is because there are surprisingly few use cases where I've felt like it's worth the added complexity of adding this in. I could set it up so that your configuration here would perform each task sequentially, but then it would also necessitate allowing reordering of actions, potentially adding configurable delays, and communicating to users that this is even possible.

Whenever users have asked for multiple actions in the past, it made more sense in almost every case to just add in what they wanted as a selectable action. In this case, it's kind of a forced workaround that would appear unintuitive as an available option. However, this is an annoying problem that I'd like to have a solution for. Let me think about this a little more and see if there's a better solution that I haven't yet come across.

@camslice
Copy link
Author

Thanks for the prompt response. Totally understand the hestation to introduce more complexity for an edge case. I guess the core of the issue for me personally is the additional click that is fired after a three finger tap gesture. That should have probably been the feature request 🙈 Maybe a checkbox "block additional click"? Or is it simply impossible to block the additional click when "three finger drag" is enabled?

It's interesting that the UI currently lets you add two instances of the same gesture. Seems like the second instance simple overriddes the first, even though both are still visible. Is that the indented behaviour? Maybe a small UX issue here, because having them both visible makes you think they will fire in a sequence.

@rxhanson
Copy link
Owner

it simply impossible to block the additional click when "three finger drag" is enabled?

Yes, as a 3rd party there is no way to distinguish the click generated by the three finger drag from a normal click, unfortunately.

It's interesting that the UI currently lets you add two instances of the same gesture.

A long time ago, prior to the addition of restrictions, the UI would not allow this. With the addition of restrictions, you can make the same gesture perform different actions in different applications, and allowing gestures to be added multiple times is the simplest way to achieve this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants