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

qml: Change swipe dismiss gesture to animate opacity instead of position #211

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

espidev
Copy link
Contributor

@espidev espidev commented Mar 13, 2024

See rationale on #157, but TLDR we encounter a lot of issues with animating the position of the keyboard.

Here we instead change to animate the opacity, which allows the keyboard retain its dimensions during the animation.

@espidev
Copy link
Contributor Author

espidev commented Mar 13, 2024

VID_20240313_162116.mp4

@espidev espidev changed the title Keyboard: Change swipe dismiss gesture to animate opacity instead of position qml: Change swipe dismiss gesture to animate opacity instead of position Mar 13, 2024
@dobey
Copy link
Contributor

dobey commented Jun 22, 2024

As kwin disables the animation in maliit, I wonder if #181 may fix the issue you're seeing under Plasma? It's a smaller change, and it's unclear to me how animating opacity helps here. I still would prefer to just remove the swipe to close anyway, as there are so many problems with it, and the code is a bit complex.

@espidev
Copy link
Contributor Author

espidev commented Jun 28, 2024

As kwin disables the animation in maliit, I wonder if #181 may fix the issue you're seeing under Plasma? It's a smaller change, and it's unclear to me how animating opacity helps here. I still would prefer to just remove the swipe to close anyway, as there are so many problems with it, and the code is a bit complex.

That PR doesn't seem to change anything, it still glitches in the same way when I swipe down

@ell1e
Copy link

ell1e commented Jul 9, 2024

I tested this now. In overall it seems like a huge improvement, but I found some nitpicks and one seemingly bigger issue:

The bigger issue: When I put my finger on a letter key, then drag down until the keyboard disappears but keeping my finger pressed on the bezel, and then move my finger back into the screen area and just wildly around and in/out of the screen, often the keyboard will eventually get stuck in hidden mode. At this point it seems impossible to get it to show again, unless I tap "Input Method" in the tray enough to deactivate and reactivate the on-screen keyboard entirely. This means users without that tray icon will probably be stuck.

Update: I tried to repeat this one 👆 and catch it on video, but sadly I failed. I'm not sure why. 😕

The smaller nitpicks:

  1. When doing a regular faster downward swipe starting from any letter key, without doing anything weird, and at a reasonably fast speed, the drag distance to hide the keyboard seems too large. When starting e.g. in the vertical middle of the keyboard, it's almost impossible to close it anymore even when trying very hard, since I would need to drag farther than physically possible until I hit the screen bezel. This might be a problem when people use this action a lot, since then you don't want to need to make a huge physical movement straining your fingers. (Possible tweaking issue, probably not a bug.)

    Update: here is a video of it taking really long distance, also it pops back up at the end which seems undesired:

    Long.Dragging.Distance.Required.webm
  2. Possible small bug when dragging unusually: When I put my finger such on a top row letter with a long press that one of the small popups show up, and then move my finger still pressed down onto the popup and only then drag down, the distance code seems to become confused. It now requires a much smaller drag distance to close, like it somehow looses its proper reference for how far I dragged. While I would personally appreciate a smaller distance needed in general, this feels like it's probably a bug.

    Update: here is a video of this happening:

    Maliit.Unusually.Short.Dragging.Distance.webm

(I tested this on a Steam Deck with postmarketOS Edge, if somehow relevant.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants