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): prototype gesture-bootstrapping keyboards 🐵 #9827

Merged
merged 15 commits into from
Nov 6, 2023

Conversation

jahorton
Copy link
Contributor

@jahorton jahorton commented Oct 23, 2023

These keyboards are very clearly not intended for actual use. They're simply present to give us something to test against and work with until keyboards actually utilizing the new gestures become available.

gesture_prototyping

image

image

Features:

  • Defines upward flicks on the vowel and semi-vowel keys on nearly all layers
  • Adds an extra "diacritic layer-switch" key to the right of the spacebar; this key accepts multitaps.
  • The classic K_SHIFT multitap for the default layer is explicitly defined within the layout.
  • The key hints are set to use defaultHint = 'flick' - thus testing the new configurable key-hint system.

Limitations

  • None of the multitap keys actually do text output; they're layer-switching only.
  • Only certain flick directions are utilized.
  • No relevant subkeys aside from the default punctuation key.

ye_old_ten_key

image

Features:

  • Is designed as a more rigorous multitap stress-test.
  • Key hints are explicitly defined on each key for both layers - default and shift.
  • Each key (from 2 to 9) have six defined subkeys.
    • The first three keys use the capitalization appropriate to their current layer.
    • The next three use the opposite capitalization and also specify to swap layers should they be the final key.

Limitations

  • Same limitation re: longpress.
  • No flicks to be seen here.
  • Should have been ye_olde_... (with the extra 'e'), but alas.

diacritic_rota

image

Features

  • is an extended version of ye_old_ten_key
  • Adds a multitappable diacritic rota key: goes through accent-grave, accent-acute, and the circumflex.
    • Also emits a deadkey.
    • To be extra-"spicy", the deadkey is unique for each diacritic available.
  • Typing any letter - lowercase or uppercase via multitap, immediately after selecting a diacritic, should result in:
    • the diacritic joining the new letter (if a composed form exists)
    • the diacritic disappearing entirely (if no composed form exists)
      • The point: ensuring that multitap key rule evaluation still has access to the original deadkeys that existed before the first tap
    • Naturally, if context is reset - via loss of element focus or a backspace - the diacritic-oriented rules should no longer trigger (because the deadkeys will disappear)

Limitations

  • Same as ye_old_ten_key.

These three keyboards are added as new keyboards for "English" for Web test pages using the common keyboard set.

@keymanapp-test-bot skip

@jahorton jahorton force-pushed the feat/web/test-kbd-prototyping branch from 48517cd to ccb7f82 Compare October 24, 2023 06:26
@jahorton jahorton changed the base branch from feat/web/gesture-preview-host to refactor/web/transcription-cache October 24, 2023 06:26
@jahorton
Copy link
Contributor Author

Looks like I may need to update a few unit tests in the previous PR - #9836.

@jahorton jahorton marked this pull request as ready for review October 26, 2023 02:47
@jahorton jahorton requested a review from mcdurdin as a code owner October 26, 2023 02:47
@mcdurdin mcdurdin modified the milestones: A17S24, A17S25 Oct 27, 2023
Base automatically changed from refactor/web/transcription-cache to feature-gestures November 6, 2023 01:27
@jahorton jahorton merged commit ce4176e into feature-gestures Nov 6, 2023
2 checks passed
@jahorton jahorton deleted the feat/web/test-kbd-prototyping branch November 6, 2023 01:27
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.

2 participants