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

Circular drag action issue. #907

Open
6 of 7 tasks
gaabster opened this issue May 18, 2024 · 26 comments
Open
6 of 7 tasks

Circular drag action issue. #907

gaabster opened this issue May 18, 2024 · 26 comments
Labels
bug Something isn't working

Comments

@gaabster
Copy link

Steps to reproduce

Attempt to write a number and/or letter by performing a circular action clockwise or counterclockwise.

Expected behavior

Expected behaviour would be to get a opposite case letter or a number.

Actual behavior

I cannot write numbers or opposite case letters using circular drag action. The correct letter or number is almost impossible to get right and instead produces random symbols.

version of the program

3.1.7

Android version

Android 14, Lineageos 21

Device

Xiaomi Mix 2 Chiron

Other details

3.1.6 works as expected. Has something changed? I can see that there has been a "Tweak circular drag detection algorithm" in 3.1.7 release. Maybe that created another issue.
It happens regardless of the layout used.

Acknowledgements

  • I have written a short but informative title.
  • I have updated the app to the latest version.
  • I have searched the existing issues and this is a new one, NOT a duplicate or related to another open issue.
  • This is not a question or a discussion, in which case I should have gone to lemmy.ml/c/thumbkey
  • This is a single bug report, in case of multiple bugs I will open a separate issue for each one (they can always link to each other if related)
  • I have admitted that I am a clown by having checked this box, as I have not read these acknowledgements. 🤡
  • I have filled out all of the requested information in this form.
@gaabster gaabster added the bug Something isn't working label May 18, 2024
@glm4610
Copy link
Contributor

glm4610 commented May 21, 2024

Hi @gaabster , I authored the tweaks to the circular drag detection.
That was, ironically, because prior to version 3.1.7 I, and others (see #894 ), were experiencing the same problems you describe now.

How can we go about solving this?

@glm4610
Copy link
Contributor

glm4610 commented May 21, 2024

About the "random" symbols you mentioned. Do they belong to the same key you initiated the circular drag on?

@gaabster
Copy link
Author

Hi @glm4610, I got really confused when I encountered this bug. I had to double check which version I'm running, since the 3.1.7 changelog had a fix for such behaviour.
The symbols do belong to the same key.
And I just checked 3.1.6 to be sure I didn't imagine it, and it works great.

@dessalines
Copy link
Owner

3.1.7's circle-drag works much better for me so far. I don't know if we should leave this open unless there are specific tweaks to be made.

@ralencode
Copy link

3.2.0 is much better, but cant get 0 by circle on the space because of the slide gesture. if i disable slide gestures, i have no problems. perhaps its more reasonable to make space button produce 0 on a long press rather than circular gesture?

@gaabster
Copy link
Author

It does work a bit better but not much,. It's still very unreliable. I appreciate your efforts.

@ralencode
Copy link

it works okay: from one edge to the next. from right returning to bottom - capital, to top - number. not 100% rate ofc, but works. but space (0) works only with slides disabled.

@gaabster
Copy link
Author

gaabster commented Jun 1, 2024

it works okay: from one edge to the next. from right returning to bottom - capital, to top - number. not 100% rate ofc, but works. but space (0) works only with slides disabled.

I really don't know what I'm doing wrong. I'm back to 3.1.6, since this one works best for me.
BTW I just tried circular drag action on Unexpected keyboard and it is hands down the best implementation of this feature ever. Only counterclockwise, capital letter is available but it's perfect.
Tho I still hope I'll somehow fix the issues I have withthumb-key. I really like this project.

@glm4610
Copy link
Contributor

glm4610 commented Jun 1, 2024

Hi, I will definitely check out how unexpected keyboard has implemented circular drag actions. In the meantime, I'd really appreciate if you guys could record the bug in action. Preferably after enabling show pointer in developer options, So I can see the trajectory that your fingers trace while you are doing the drag. 😁 @gaabster @VoKi21

@gaabster
Copy link
Author

gaabster commented Jun 1, 2024

@glm4610 oh the shame 😅 Ok I'm ready to be judged.
Video

@ralencode
Copy link

@gaabster
Copy link
Author

gaabster commented Jun 1, 2024

@VoKi21 Ok so I was doing it wrong. This is embarrassing. It's a bit better doing it your way, but still a bit of a hit or miss. I guess I need more practice.
I apologise to the developers for making you chase false bugs. For me it was obvious I had to drag around the key area not half way below it.

@glm4610
Copy link
Contributor

glm4610 commented Jun 1, 2024

No need to apologise, friend! If only more people were as respectful as you! I'll still try to improve the gesture detection later next week though

@glm4610
Copy link
Contributor

glm4610 commented Jun 1, 2024

When you do it in the top row, try doing the circle downwards, so that the motion stays within the keyboard UI. Android has this stupid thing where it doesn't let us track user gestures outside the UI bounds... I'm trying to get some inspiration from Unexpected Keyboard's codebase @VoKi21 @gaabster

@ralencode
Copy link

@ralencode
Copy link

for me everything works ok but the space-0...

@ralencode
Copy link

@SleepyScribe
Copy link

I'm actually experiencing this on my Z Fold 3. Can't get opposite case and numeric circular motion to work at all. Tried different sensitivity and drag lengths. Android 14.

No idea why, because I could get it to work on my Pixel 7 Pro running the same android version. My Fold will also do the circular drag with a similar keyboard as well, it just refuses to do it with thumbkey.

@dessalines
Copy link
Owner

Someone familiar would need to find a better algorithm for that one.

@glm4610
Copy link
Contributor

glm4610 commented Aug 16, 2024

I said I'd take a look at the gesture issues a while ago but unfortunately I got swamped with other problems and haven't managed to do it yet. My apologies 🙇

@SleepyScribe
Copy link

In a new development, I'll be upgrading to the Z Fold 6 in a few days time so I can see if the issue persists there. If it does, it could have something to do with One UI on the Fold line. I'll check back in with a report on it after it arrives.

I recently moved and had to leave my PC behind temporarily, otherwise I'd mess around in Android Studio and see what I could bring up, though admittedly I'm not very knowledgeable in this field.

@ironavt
Copy link

ironavt commented Aug 28, 2024

Version 3.4.1, Samsung Galaxy S24 FE.
I have just learned about this keyboard, used Messagease long time ago. My mussle memory picked up typing perfectly, but something with circular drags is still off. Also drag-n-returns.

It seems like those drags require too much precision to perform. Diagonal drag-n-returns start to work better after adjusting minimum drag setting to lower values but still with not 100% accuracy.

Circular drags work very rarely and I couldn't find any way to reach a consistent output.

@dessalines
Copy link
Owner

The person who worked on the circle-drag functionality would need to tweak it. I didn't add that and don't use it.

@loehnertj
Copy link

With some systematic testing, I found that for me, circle-drag works rather reliable, if taking care that (a) finger does not leave keyboard area and (b) the gesture is large enough.

I think that (b) might be the reason that people still have problems. One has to drag / circle quite far, at least about 1 keysize. In anatomical terms that means that you can't just flick your finger as trained by That Other App; rather you need to move your wrist a bit as well. I.e. you need to reprogram muscle memory, which is hard. YMMV depending on the key size in realworld units...

Tracking it down, I found that this is hardcoded in the gesture detection, namely exactly here:

val maxOffsetThreshold = 1.5 * finalOffsetThreshold

Maybe it is possible to (1) reduce this threshold or (2) scale the threshold sensibly with minSwipeLength or (3) add a setting for the factor? To me, this looks like a simple adjustment that might improve things.

@SleepyScribe
Copy link

With some systematic testing, I found that for me, circle-drag works rather reliable, if taking care that (a) finger does not leave keyboard area and (b) the gesture is large enough.

I think that (b) might be the reason that people still have problems. One has to drag / circle quite far, at least about 1 keysize. In anatomical terms that means that you can't just flick your finger as trained by That Other App; rather you need to move your wrist a bit as well. I.e. you need to reprogram muscle memory, which is hard. YMMV depending on the key size in realworld units...

Tracking it down, I found that this is hardcoded in the gesture detection, namely exactly here:

val maxOffsetThreshold = 1.5 * finalOffsetThreshold

Maybe it is possible to (1) reduce this threshold or (2) scale the threshold sensibly with minSwipeLength or (3) add a setting for the factor? To me, this looks like a simple adjustment that might improve things.

This is exactly it, I just tested. I keep my Thumbkey small and on the right side of my phone. The circle gesture for me has to encompass the whole keyboard, but it does work and reliably.

I think that, in the light of how large the circle must be, just swiping up on the middle-right key (R in my case) is just quicker.

And you're right, I got used to that other app before I found Thumbkey. The other app works fine when circling just the key, but I always keep going back to Thumbkey for it's better responsiveness and design.

I've gotten so used to swiping up on R now that I don't think I'd even use the circular motion anymore anyway.

@mruncreative
Copy link

It's kinda hard for me too. I'm too stupid to do it correctly most of the time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

8 participants