-
Notifications
You must be signed in to change notification settings - Fork 225
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
Comments
About the "random" symbols you mentioned. Do they belong to the same key you initiated the circular drag on? |
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. |
|
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? |
It does work a bit better but not much,. It's still very unreliable. I appreciate your efforts. |
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. |
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 |
@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. |
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 |
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 |
for me everything works ok but the space-0... |
space-0 now works somehow, but very unstable |
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. |
Someone familiar would need to find a better algorithm for that one. |
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 🙇 |
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. |
Version 3.4.1, Samsung Galaxy S24 FE. 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. |
The person who worked on the circle-drag functionality would need to tweak it. I didn't add that and don't use it. |
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: thumb-key/app/src/main/java/com/dessalines/thumbkey/ui/components/keyboard/KeyboardKey.kt Line 443 in ac514da
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. |
It's kinda hard for me too. I'm too stupid to do it correctly most of the time. |
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
The text was updated successfully, but these errors were encountered: