nightkr / flickboard

Flicking keyboard for Android
GNU Affero General Public License v3.0
108 stars 21 forks source link

Repeatable deletion gestures #186

Closed hupfdule closed 5 days ago

hupfdule commented 1 month ago

Context

At the moment it is possible to delete whole words by swiping back and forth (or forth and back) on the backspace key. But it is only possible to delete a single word with that approach. To delete multiple words the key must be released and the whole gesture has to be done again.

Describe your suggested feature

It would be great to allow repeating the action without having to lift the finger. So to delete 3 words to the left one could swipe back-forth-back-forth-back-forth. This is way easier and faster to execute than having to lift the finger between each delete action.

Other details

At the moment the delete action is only executed after the finger has been released. To allow for such a repeated deletion this would likely have to be changed so that the deletion is executed an visible as soon as possible (as soon as the gesture has been unambiguously identified to be a delete action). I don’t know whether this conflicts with other gestures. What I mean is: After swiping back and forth, is that enough to recognize the gesture clearly as a “delete” gesture or is it possible that by doing more gestures another action is executed? This proposal is likely only useful if the delete gesture is unambiguous at some point to allow for visual feedback that the gesture has been correctly recognized. Otherwise blindly swiping multiple times back and forth without that visual feedback may make it hard to know when all the desired words are actually deleted.

This feature request is a bit related to #17, but asks for a different approach. And I think this one gives the user more control by providing more precise behaviour.

It is somehow also related to #166. That one asks for repeated deletion by holding the key as well and proposed an interesting idea for undoing accidental deletions. While #166 asks for single character deletions to be repeatable, I think it could be applied to whole word deletions as well. While I think this feature request is more precise it would probably not allow for that undo action.

I only mention deletion actions here. I don’t know if such behaviour could be usable for other actions (maybe for cursor movements if fast actions are disabled?).

Acknowledgements

hupfdule commented 1 month ago

It is somehow also related to https://github.com/nightkr/flickboard/issues/166. That one asks for repeated deletion by holding the key as well and proposed an interesting idea for undoing accidental deletions. While https://github.com/nightkr/flickboard/issues/166 asks for single character deletions to be repeatable, I think it could be applied to whole word deletions as well. While I think this feature request is more precise it would probably not allow for that undo action.

Thinking about that again, it may be possible to combine that (but would be more complicated):

Maybe the undo action could be executed by repeating the action in the opposite direction. For example (all without lifting the finger):

  1. swipe left + swipe back
  2. swipe left + swipe back
  3. swipe right + swipe back

could result in

  1. delete one word
  2. delete another word
  3. undo the deletion of the last word