Skip to content

[Feature] Repeat action and individual thresholds for gesture directions #300

Description

@the-m4jX

Feature description

I want to have an option for swipe actions to repeat and to set individual thresholds for each direction.

Basically, in "Gesture Swipe" -> "Swipe actions" for each swipe direction add:

  • Text field for threshold.
  • Checkbox for Swipe action repeat.

Maybe useful (maybe overkill, maybe not, depends on how it feels using it):

  • Text field for maximum repeat number.
  • Text field for optional threshold for repeat
  • Text field for "gap before first repeat"

Use case / motivation

If I set "Swipe up" to "Volume Up" and "Swipe down" to "Volume Down" , each swipe only changes volume by 2 (Single Volume step). If I want to change it more I have to keep stopping the mouse to trigger another swipe.

It would be better if the action kept repeating as you are moving your mouse.

The movement would feel more analog, like you're grabbing an invisible volume slider or a volume touchpad with the gesture button, if you move more, you change it more.

This way you can quickly raise/lower volume or any other controls that change in increments or need to be repeated. Like brightness or controls that have a few steps like increase speed in video players. Could also have all kinds of uses for editing, graphics design, anything that uses hotkeys to increase/decrease anything. Threshold for each swipe would let you customize it for various functions that may need faster or slower repeats, you would want something with 100 steps to increase much more quickly than something with 10.

Things could be customized even further by setting up a separate threshold for repeat, if you want the first action to execute earlier and repeats to be more spread out.
Or a "gap before repeat" that is basically a X pixel gap between the first action and repeat, if you want a keep a very short threshold for first action and repeat without accidentally repeating when you didn't mean to, like a little delay before it repeats.
Optionally, a text field for the maximum amount of repeats in a single swipe could help set a limit if the action can be "overdone", like if you use it to lower brightness, you may not want a single swipe to turn it all the way to 0, or if you map "Undo" and "Redo" you may want to limit a single swipe to 10 undos/redos.

Example with Volume Up/Down on Swipe Up/Down using all the options:

  • "Threshold" set to 20px
  • "Repeat" checkbox checked
  • "Maximum repeat" set to 25
  • "Repeat threshold" set to 30px
  • "Gap before first repeat" 10px

So I hold the gesture button and swipe up:

  • 20px of swiping send first "Volume Up" (20px total)
  • 10px of swiping for "gap before repeat" (30px total)
  • 30px of swiping send "Volume Up" (60px total)
  • Repeat 25 times total (780px total)

(Though in the real scenario using Volume Up/Down I wouldn't use a gap or a different repeat threshold because I would want it to be more linear in this case.)

Area of the app

Gesture button / swipe actions

OS relevance

None

Alternatives considered

No response

Device info JSON (if relevant)

Mockups, screenshots, or references

No response

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions