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): multitap key-previews 🐵 #10103

Merged
merged 5 commits into from
Dec 8, 2023

Conversation

jahorton
Copy link
Contributor

@jahorton jahorton commented Nov 30, 2023

In order to provide better feedback to users, this implements a special key-preview pattern for use during active multitaps:

Phones (animated gif dropdown)

multitap-apple

Tablets (animated gif dropdown)

multitapple-tablet

The key-preview is now kept alive during the multitap process. Once a user's finger is lifted from a base key that supports multitaps, a "key hint" appears on the top-right for the next key in-line. Upon receiving each new, incoming tap, the newly-activated key becomes the preview's "key cap", with the key next in rotation appearing as the next "hint".

Thanks to #10102, this works even when multitapping across layers...

Layer-crossing previews

mt-layer-crossing-previews

Note how the key-hints in the background swap as the key continues to be tapped. The fact that the shift-key doesn't illuminate/highlight is a keyboard-design bug on my part.

@keymanapp-test-bot skip

I wanted to have user tests here... but I've been at a loss for how to spec related tests well. It played out well in the team demo, so I figure that's a decent enough "user test" to count.

@keymanapp-test-bot keymanapp-test-bot bot added the user-test-missing User tests have not yet been defined for the PR label Nov 30, 2023
@keymanapp-test-bot keymanapp-test-bot bot changed the title feat(web): multitap key-previews feat(web): multitap key-previews 🐵 Nov 30, 2023
@github-actions github-actions bot added the feat label Nov 30, 2023
@keymanapp-test-bot keymanapp-test-bot bot added this to the A17S27 milestone Nov 30, 2023
@MayuraVerma
Copy link
Contributor

👏 can we test multitap gesture?

@jahorton
Copy link
Contributor Author

jahorton commented Dec 1, 2023

👏 can we test multitap gesture?

We are very close to having the new gestures land on alpha; we have an internal round of user testing to do first before releasing it, just to be safe. The status for that can be tracked at #7324.

@darcywong00
Copy link
Contributor

Is this test keyboard based on the T9 layout?
I think those had 123 on the top row where "ABC" starts at 2.

@jahorton
Copy link
Contributor Author

jahorton commented Dec 4, 2023

Is this test keyboard based on the T9 layout? I think those had 123 on the top row where "ABC" starts at 2.

When I made it, I started from a classic keyboard's 10-key layout, rather than the classic phone-dialing layout... and then applied the T9 stuff on the matching positions (rather than matching keys). I only realized later that the two layouts have their base keys vertically flipped with respect to each other.

@jahorton jahorton marked this pull request as ready for review December 4, 2023 08:40
previewHost.on('startFade', () => {
this.element.classList.remove('kmw-preview-fade');
// Note: a reflow is needed to reset the transition animation.
this.element.offsetWidth;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Simply accessing the offsetWidth property retriggers a reflow?

@keymanapp-test-bot keymanapp-test-bot bot removed the user-test-missing User tests have not yet been defined for the PR label Dec 8, 2023
@mcdurdin mcdurdin modified the milestones: A17S27, A17S28 Dec 8, 2023
Base automatically changed from change/web/floating-tablet-preview to feature-gestures December 8, 2023 16:06
@jahorton jahorton merged commit 38251fe into feature-gestures Dec 8, 2023
2 checks passed
@jahorton jahorton deleted the feat/web/multitap-preview-hints branch December 8, 2023 16:06
@jahorton jahorton mentioned this pull request Dec 12, 2023
1 task
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.

5 participants