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

feat(web): enhanced flick resetting via path base-coord replacement 🐵 #10173

Merged
merged 5 commits into from
Dec 13, 2023

Conversation

jahorton
Copy link
Contributor

@jahorton jahorton commented Dec 7, 2023

Rather than requiring a user to remember exactly where their initial touch location was for a flick during resets, this set of changes allow for flicks to 'change' their start location when reset. A location nearish the center of the base key will always be chosen in a manner that also favors the actual location of the active contact-point when reasonable.

Deliberately not picking the actual center, but an off-center location with a moderate radius of it toward the actual location of a touch, it becomes far easier to swap flick direction intuitively after a reset.

User Testing

TEST_FLICK_LOCKING: Using the standard "Test unminified KeymanWeb" test page from a mobile device...

  1. Select "English...", then "Gesture Prototyping".
  2. Tap and hold the u key.
  3. For the following steps, pay attention to the animated preview.
  4. Drag it purely north (straight up) - you should see the û key in the preview area (assuming it's not blocked by your finger).
    • If the animation was "jumpy" - if there was a lack of motion at the same time you moved your finger, then a big "jump" to catch up - FAIL this test.
    • If any such "jumps" were directly tied to you moving your finger quickly, do not fail this test.
  5. Return your finger to the original 'u' key; the 'u' key should slide back into place.
    • Note when the preview's u fully recenters: that indicates a successful "reset".
  6. Now drag your finger downward: you should see a preview for ü as you do so.
  7. Return your finger to the original 'u' key; the 'u' key should slide back into place.
  8. Now, drag your finger in a up-and-right motion: you should also see a preview for ú as you do so.
    • Again, if the animation felt "jumpy" and not well connected to your input, FAIL this test.
  9. While the ú is visible and in the center, lift your finger and end the gesture.
  10. Verify that a ú is output.
  11. Repeat steps 2 through 6 for the a key; you should see similar previews and text there. (â, ä, á)

NOTE: this should replace the corresponding test from Web's regression-test specification if possible. Consider it an update.

@keymanapp-test-bot keymanapp-test-bot bot added the user-test-missing User tests have not yet been defined for the PR label Dec 7, 2023
@keymanapp-test-bot
Copy link

keymanapp-test-bot bot commented Dec 7, 2023

User Test Results

Test specification and instructions

  • TEST_FLICK_LOCKING (PASSED): ):** Tested using the standard "Test unminified KeymanWeb" test page from a mobile device (Samsung Galaxy- Android version 13) and here is my observation: 1. Selected "English - Gesture Prototying" keyboard. 2. Tap and hold the 'u' key. 3. Dragged it to straight up position to see û letter. Did not see any 'jumpy' animation. 4. Returned the finger to its original position. ('u' key) 5. Dragged it to downword side and I was able to see ü key. 6. Again, return to 'u' key. 7. Then, dragged it to up-and-right motion to see ú letter. Lift my finger and ended the gesture. Verified that a ú letter appears on the text screen. 7. Repeat the steps for the 'a' key and I was able to see the similar previews and texts there. (notes)

@keymanapp-test-bot keymanapp-test-bot bot changed the title feat(web): enhanced flick resetting via path base-coord replacement feat(web): enhanced flick resetting via path base-coord replacement 🐵 Dec 7, 2023
@keymanapp-test-bot keymanapp-test-bot bot added this to the A17S27 milestone Dec 7, 2023
@jahorton jahorton force-pushed the feat/web/gesture-path-memory-optimization branch from 06eeb96 to a8e7320 Compare December 8, 2023 04:52
@jahorton jahorton force-pushed the feat/web/path-base-coord-replacement branch from 4cdc1fe to 6688a58 Compare December 8, 2023 04:53
@jahorton jahorton changed the base branch from feat/web/gesture-path-memory-optimization to change/web/path-evaluate-signature December 8, 2023 04:53
@mcdurdin mcdurdin modified the milestones: A17S27, A17S28 Dec 8, 2023
@jahorton jahorton marked this pull request as ready for review December 9, 2023 02:32
@jahorton jahorton mentioned this pull request Dec 12, 2023
1 task
@keymanapp-test-bot keymanapp-test-bot bot added has-user-test user-test-required User tests have not been completed and removed user-test-missing User tests have not yet been defined for the PR labels Dec 12, 2023
@bharanidharanj
Copy link

Test Results

  • TEST_FLICK_LOCKING (PASSED ): Tested using the standard "Test unminified KeymanWeb" test page from a mobile device (Samsung Galaxy- Android version 13) and here is my observation: 1. Selected "English - Gesture Prototying" keyboard. 2. Tap and hold the 'u' key. 3. Dragged it to straight up position to see û letter. Did not see any 'jumpy' animation. 4. Returned the finger to its original position. ('u' key) 5. Dragged it to downword side and I was able to see ü key. 6. Again, return to 'u' key. 7. Then, dragged it to up-and-right motion to see ú letter. Lift my finger and ended the gesture. Verified that a ú letter appears on the text screen. 7. Repeat the steps for the 'a' key and I was able to see the similar previews and texts there.

@keymanapp-test-bot keymanapp-test-bot bot removed the user-test-required User tests have not been completed label Dec 12, 2023
Base automatically changed from change/web/path-evaluate-signature to feature-gestures December 13, 2023 07:09
@jahorton jahorton merged commit c754a22 into feature-gestures Dec 13, 2023
2 checks passed
@jahorton jahorton deleted the feat/web/path-base-coord-replacement branch December 13, 2023 07:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants