feat(web): multitap key-previews 🐵#10103
Conversation
User Test ResultsTest specification and instructions User tests are not required Test Artifacts
|
|
👏 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. |
|
Is this test keyboard based on the T9 layout? |
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. |
| previewHost.on('startFade', () => { | ||
| this.element.classList.remove('kmw-preview-fade'); | ||
| // Note: a reflow is needed to reset the transition animation. | ||
| this.element.offsetWidth; |
There was a problem hiding this comment.
Simply accessing the offsetWidth property retriggers a reflow?
…at/web/multitap-preview-hints
In order to provide better feedback to users, this implements a special key-preview pattern for use during active multitaps:
Phones (animated gif dropdown)
Tablets (animated gif dropdown)
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
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.