-
-
Notifications
You must be signed in to change notification settings - Fork 111
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): subkey-menu fat-finger correction 🐵 #9779
Conversation
User Test ResultsTest specification and instructions User tests are not required |
const altKey = pair.keySpec; | ||
if(!altKey) { | ||
console.warn("Potential fat-finger key could not be found in layer!"); | ||
console.warn("Internal error: failed to properly filter set of keys for corrections"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This obviously is connected to this ongoing Sentry error: https://keyman.sentry.io/share/issue/977c8e43dc1b40ddb7f6948252a6118b/
Note that the new pattern directly uses the object that was previously retrieved by lookup. There will no longer be an inability to find the object.
Of course, that doesn't solve the whole problem - whatever had happened to the layer, and how whatever that is should be handled in relation to fat-fingering - but this should help us get closer to finding the root of the issue, even then.
… into feat/web/subkey-corrections
… into feat/web/subkey-corrections
Fixes #4698.
Now that #9778 exists, we have a path forward to finally resolve an old hack:
keyman/web/src/engine/osk/src/visualKeyboard.ts
Lines 578 to 583 in af3ba1f
Subkey fat-finger corrections look simpler to handle / model than multitap corrections, so it seems wise to tackle them first in order to vet the sort of approach (and abstractions) that will be needed for multitaps and flicks down the line.
Furthermore, by fixing this now, we can finally sever the last tie held by
VisualKeyboard
code to the old-form spec used to distinguish between base key and subkey state. That, in turn, allows us to remove numerous references to old OSK code that is being replaced by the new gesture engine... once we also update the banner to use the gesture engine. Both the removal and the banner patch-up work will be performed in #9752.@keymanapp-test-bot skip