Repeated actions on hold
If I circle around the backspace key, it currently deletes one word. That's good. However, if after circling around backspace, I hold my finger on backspace, it should wait a moment, and then start deleting entire words until I stop holding.
The same should apply to pressing and holding the backspace key (repeated single character deletion), space, and the movement guestures
Space navigation is already covered by the fast actions system. We could enable the same thing for backspace, but that would conflict with the circle gesture.. :/
Specifically, the issue is for repeated actions when a gesture is held (the finger does not lift after the gesture) for a second
The fast actions system is... annoying, for me personally. I prefer the precise navigation controls that messagease provided (that are mostly implemented by flickboard with fast actions disabled): Swipe on spacebar for "move cursor 1 character" and back-forth swipe to "move 1 word".
With fast actions disabled, it would be nice to implement repeated actions on hold.
The feature request is as follows:
All with fast actions disabled:
swipe on spacebar, then do not lift finger: causes the keyboard to wait 1 second, then begin to move the cursor in the direction of the swipe, slowly at first, and after 3 seconds, faster
back-forth swipe on spacebar, then do not lift finger: does the same as above, but moves the cursor by entire words at a time.
Swipe on backspace key, then do not lift finger: same as moving the cursor on the spacebar, but deletes the character. Waits a second, then moves slowly, then moves faster.
Circle on backspace key, then do not lift finger: Deletes entire words in the same manner as the "Back-forth swipe on spacebar"
Consider adding similar functionality to the up and down arrows
Perhaps the movement options should be in a dropdown, and you can select one of:
- Fast-keys
- Hold-to-repeat
- Thumb-key-control?
I'm not saying you're wrong or that this doesn't have value, I'm just not quite sure how "wait to release at the precise right moment" (especially when the timing changes after a while as you propose) is more precise than "drag as far as you desire" (letting you adjust the speed dynamically by.. changing how fast you move). Especially when, in the latter case, correcting your mistake is a matter of just moving back slightly, as opposed to having to start a whole new gesture in the other direction.
Maybe I'm missing something. I probably am. But I'd rather understand the problem domain better and people's problems with the current solutions before implementing another 500 modes.
I'm not saying you're wrong or that this doesn't have value, I'm just not quite sure how "wait to release at the precise right moment" (especially when the timing changes after a while as you propose) is more precise than "drag as far as you desire" (letting you adjust the speed dynamically by.. changing how fast you move). Especially when, in the latter case, correcting your mistake is a matter of just moving back slightly, as opposed to having to start a whole new gesture in the other direction.
Maybe I'm missing something. I probably am. But I'd rather understand the problem domain better and people's problems with the current solutions before implementing another 500 modes.
Thanks for clarifying, yes, I see that I wasn't clear.
In general, I like to have the precise control of "1 swipe == 1 space" and "1 back-forth-swipe == 1 word"
However, sometimes I do not care about precision (not as often as I do care). In those cases, I just want to move. The gesture-then-hold input allows me to have imprecise movement when I need it, but retain the precise control for the majority of uses.
So you are correct, the gesture-then-hold is not more precise than the fast-keys gesture, but it has the advantage of not preventing/overriding the precise gestures. Personally, I would rather have access to the precise gestures than have only imprecise gestures, if forced to choose.
Also, I find it difficult to adjust my finger's position for a fine-tuned control of where the cursor is... whether I adjust the position by dragging the cursor in the system UI, or by dragging my finger on the spacebar/backspace key.
I much prefer the idea of one action = one input, for the most part. But sometimes I do want to have imprecise input ... but not at the expense of disabling precise input control.
One important feedback feature was that there was a vibration whenever any "repeated action" occured, so you could feel how many times the action had occured so far
What do you think about an option like "only enable fast actions in shift mode" or "only enable fast actions on numpad side"?
I don't like shift because it's not predictable (you can't enable it and then expect it to stay on) ... but the numpad idea might work.
One concern is that for moving or deleting entire words at a time, I could know that 3 vibrations meant 3 words exactly, and still have somewhat precise control, (feeling the feedback) whereas with fast actions ... I do not have access to moving or erasing entire words at once at all.
The other concern is that with repeated actions on hold, the user input is a function of time (length of hold, with number of vibrations as feedback), whereas with fast-keys, the user input is a function of space (distance swiped, also with number of vibrations as feedback). I find the time-based input easier to control.
Anyhow, its not a big deal either way.
I want to comment a problem that I have, seems related and should add more context:
I'm used to the Samsung keyboard, where I would long press on the backspace key to delete whole words/sentences…
I do this machinally, it's natural, but with flickboard long pressing does nothing and I find myself having to press repeatedly on the backspace, one character at a time.
It sounds like the fast actions offers a similar solution, but how, as a user, am I supposed to know what to do? Even me, who knows about the existence of fast actions and follows the GitHub, I have no clue what they are and what's a way to delete whole sentences…
At least here I learn that I can circle around the backspace to delete a whole word, which is a good start! But is something I would have never guessed…
I want to comment a problem that I have, seems related and should add more context:
I'm used to the Samsung keyboard, where I would long press on the backspace key to delete whole words/sentences…
I do this machinally, it's natural, but with flickboard long pressing does nothing and I find myself having to press repeatedly on the backspace, one character at a time.
It sounds like the fast actions offers a similar solution, but how, as a user, am I supposed to know what to do? Even me, who knows about the existence of fast actions and follows the GitHub, I have no clue what they are and what's a way to delete whole sentences…
At least here I learn that I can circle around the backspace to delete a whole word, which is a good start! But is something I would have never guessed…
yeah, A tutorial would be good. You can also swipe back and forth on the spacebar to move the cursor an entire word, and circle from any center letter to capitalize it, or swipe towards any edge letter, and return to the center to capitalize the edge letter. To delete an entire sentence, circle up and around from the clipboard key to select the entire text… then you can delete it with the backspace.
Hey. Just wanted to bump this issue with a description of how it works in Messagease, in case that might be of any help:
Delete Key:
- Tap: Backspace
- Swipe Left: Backspace
- Swipe Left, then Circle or Return Right: Backspace Words
- Circle: Backspace Words
- Swipe Right: Delete
- Swipe Right, then Circle or Return Left: Delete Words
Spacebar:
- Tap: Space
- Swipe Left: Move Left
- Swipe Left, then Circle or Return Right: Move Left by an Entire Word
- Swipe Right: Move Right
- Swipe Right, then Circle or Return Left: Move Right by an Entire Word
- Swipe Up-Left: Alt
- Swipe-Return Top-Left: F-Key Selector
- Swipe Up: Show/Hide Symbols
- Swipe-Return Up: Show/Hide Letters
- Swipe Down-Left, Down, or Down-Right: Space
General:
- Hold: Repeat action after a configurable timeout (600ms by default). Repeat is every 450ms at first. After an unknown time, repeat decreases to every 300ms, and then again to every 150ms.
- Clockwise and counterclockwise circles are identical.
This issue has been migrated to Codeberg: see https://codeberg.org/natkr/flickboard/issues/17 for any further discussion!