Commit graph

1980 commits

Author SHA1 Message Date
Joshua Horton
3cd5ae2b33
chore(web): applies code suggestion
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-06-14 12:52:39 +07:00
jahorton
d23b349106 fix(web): row height layout calcs now consider layer-group padding 2022-06-13 13:30:13 +07:00
Joshua Horton
3a73a12561
Merge pull request #6714 from keymanapp/change/web/6646-longpress-flick-thresholding
change(web): adjusts minimum distance needed for quick-display of subkeys
2022-06-10 13:30:24 +07:00
jahorton
15ae34a0c8 change(web): increases min dist for a longpress-flick timer shortcut 2022-06-06 08:58:56 +07:00
Joshua Horton
b8a1beb2b9
chore(web): commits PR suggestion
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-06-06 08:06:20 +07:00
jahorton
ad60fe8c92 chore(web): addresses PR review comments 2022-06-01 13:08:20 +07:00
jahorton
92d1c10209 fix(web): osk display-state setting tracking 2022-06-01 12:24:22 +07:00
jahorton
8ce04b0951 fix(web): fixes float ui osk-display issues 2022-06-01 10:50:54 +07:00
jahorton
a83b4010f7 fix(web): toolbar did not note ui activation 2022-06-01 10:50:47 +07:00
jahorton
fbbba03acc fix(web): prevents overminification of .osk for float, toolbar 2022-06-01 08:40:12 +07:00
jahorton
a38c01e5bb fix(web): preserves row height rounding 2022-05-25 15:36:53 +07:00
jahorton
2f1237e352 fix(web): osk shrinkage from rounding 2022-05-25 15:12:25 +07:00
Joshua Horton
784cb74884
Merge pull request #6526 from keymanapp/fix/web/subkey-fat-fingering
fix(web): fixes fat-finger distrib when subkey selected
2022-05-03 10:14:28 -05:00
jahorton
0f051edee0 change(web): addresses PR concerns 2022-04-29 10:08:24 -05:00
Joshua Horton
a0df12247b
Merge pull request #6566 from keymanapp/change/web/touch-alias-followup
change(web): touch alias optimization followup
2022-04-26 17:08:21 -05:00
Joshua A. Horton
d4464b92e5 fix(web): fixes fat-finger distrib when subkey selected 2022-04-26 10:10:21 -05:00
Joshua Horton
95c7cc2675
chore(web): applies code suggestion
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-04-26 06:53:49 +07:00
jahorton
782d2ae07a feat(web): adds .getKeyboard().IsRTL, .HasLoaded 2022-04-25 13:27:57 -05:00
jahorton
7990cdc1dd feat(web): caret placement fine-tuning 2022-04-25 11:53:36 -05:00
jahorton
509fbb02e8 change(web): clarifies caret positioning logic 2022-04-25 11:18:02 -05:00
jahorton
efcc4276a3 change(web): performCaretSearch now member of TouchAliasElement 2022-04-25 09:25:13 -05:00
jahorton
56b4c5ac50 fix(web): caret position when page is scrolled 2022-04-20 15:28:35 -05:00
jahorton
d3900fce47 docs(web): documents some optimizing blocks 2022-04-20 15:06:32 -05:00
jahorton
a355f2ecff chore(web): minor polish 2022-04-20 15:05:03 -05:00
jahorton
48fb1371c0 docs(web): better comments & var naming 2022-04-20 15:02:57 -05:00
jahorton
94edc5c9da fix(web): mobile device caret positioning 2022-04-20 14:52:33 -05:00
jahorton
1c394c2744 change(web): further clarifies performCaretSearch 2022-04-20 13:03:32 -05:00
jahorton
cd666d0346 fix(web): major performance boost, fixes search bound logic bug 2022-04-20 12:29:00 -05:00
Joshua Horton
1ff699d221
Merge pull request #6535 from keymanapp/fix/web/5730-keyboardchange-event-promise-wait
fix(web): keyboardchange event should defer until successful
2022-04-19 20:50:09 -05:00
jahorton
189e6a77d9 change(web): implements PR suggestions, includes test-page-UI-code move 2022-04-19 09:41:46 -05:00
Marc Durdin
2eb10663ba
chore(web): Apply suggestions from code review
Co-authored-by: Joshua Horton <joshua_horton@sil.org>
2022-04-19 06:47:31 +10:00
jahorton
d65e933d9d fix(web): keyboardchange event defers until loaded 2022-04-14 18:01:35 -05:00
Marc Durdin
d2d6b4a12d chore: address review comment 2022-04-13 08:18:54 +10:00
Marc Durdin
49eb062c65 feat(web): prediction casing follows current layer
Fixes #6455.

This involved adding an extra hint to the data passed into the lexical
model layer, being the CasingForm that the current layer wants to use.

Given there are several entry points to the lexical model layer, this
meant a few places where we needed to check the current layer.

I refactored the very long function `InputProcessor.processKeyEvent` to
extract out the `buildAlternates` function. There should be no
functional changes to the `buildAlternates` code. But it makes
`processKeyEvent` significantly easier to read.
2022-04-08 16:14:01 +10:00
Marc Durdin
e616900cad
Revert "feat(web): prediction casing follows current layer" 2022-04-08 14:50:32 +10:00
Marc Durdin
0ad1d496d3 fix(android): key tip sticky with multitap
Fixes #6489.

The issue arose in multitap scenarios, where the tip display state
became desynchronised with the actual display state as maintained in
the Android code.

The fix I applied was to reduce some of the state checks into the js
wrapper android-host.js. This is not ideal. The state machine for key
tip display is scattered across four functions in three files:

* visualKeyboard.ts: VisualKeyboard.highlightKey
* visualKeyboard.ts: VisualKeyboard.showKeyTip
* embedded/keytip.ts: KeyTip.show
* android-host.js: oskShowKeyPreview / oskClearKeyPreview

I have moved the actual re-creation check for the tip to the lowest
level functions -- those in android-host.js. But a more detailed look at
the state machine and a refactoring would certainly be worthwhile.
2022-04-07 15:27:41 +10:00
Marc Durdin
b7ce99480f feat(web): prediction casing follows current layer
Fixes #6455.

This involved adding an extra hint to the data passed into the lexical
model layer, being the CasingForm that the current layer wants to use.

Given there are several entry points to the lexical model layer, this
meant a few places where we needed to check the current layer.

I refactored the very long function `InputProcessor.processKeyEvent` to
extract out the `buildAlternates` function. There should be no
functional changes to the `buildAlternates` code. But it makes
`processKeyEvent` significantly easier to read.
2022-04-01 16:20:50 +11:00
Marc Durdin
a192803021 chore(web): address review comment 2022-03-30 16:39:49 +11:00
Marc Durdin
0cadb83383 fix(web): track load error detail
This is a follow-up for #6331. We still did not have enough detail to
be able to trace the root cause of the load errors. This adds a little
more diagnostics.
2022-03-30 06:44:03 +11:00
Marc Durdin
c0248bec1b
Merge pull request #6432 from keymanapp/fix/web/shifted-key-cap
fix(web): *Shifted* showed unshifted key cap
2022-03-29 12:36:12 +11:00
Marc Durdin
46807d7af2 fix(web): *Shifted* showed unshifted key cap
While this was done in code as a global override, probably following
Apple stylistic changes, it is better to leave this to the keyboard
developer to decide on.
2022-03-28 09:02:22 +11:00
Marc Durdin
295f25144d
Merge pull request #6383 from keymanapp/fix/web/5929-ios-popup-positioning-and-style
fix(web): ios popup positioning and style
2022-03-28 04:46:00 +11:00
Marc Durdin
b3ddf633df fix(web): adjust calc for callout height 2022-03-25 09:10:29 +11:00
Marc Durdin
3858a4c9e5 fix(web): further iOS adjustments 2022-03-24 07:35:28 +11:00
Darcy Wong
19f1d4f5a7 chore(android): Merge remote-tracking branch 'origin/beta' into fix/android/subkey-move 2022-03-23 13:05:25 +07:00
Marc Durdin
5c388d1d7e
Merge pull request #6366 from keymanapp/feat/web/6364-new-layer-old-layer-replaces-layerchanged
feat(web): `&newLayer` and `&oldLayer`
2022-03-23 16:53:34 +11:00
Marc Durdin
336ab51010
Merge pull request #6406 from keymanapp/fix/web/5942-touch-alias-element-position
fix(web): adjust touch alias element positioning
2022-03-23 11:27:35 +11:00
Marc Durdin
adf3fe28c9 fix(web): tweak iOS key preview and longpress dimensions
Adjusts the dimensions to use pixel boundaries to prevent antialiasing
for some of the key preview and longpress popups, and adjusts horizontal
positioning of key preview to center more precisely, for iOS.
2022-03-23 08:23:29 +11:00
Marc Durdin
558a742a45 fix(web): adjust callout height 2022-03-22 10:02:36 +11:00
Marc Durdin
6b1ae79c11 fix(ios): remove busy 100ms waitForFonts timer on iOS
Observed while debugging another issue on iOS. The
VisualKeyboard.waitForFonts function sets up a busy timer to wait for
font loading. This functionality is not even needed on the iOS app,
because it's really only used for the touch alias elements.

However, it was being called, potentially multiple times, leading to the
timer never being removed. On Android, the timer was correctly removed.

This aligns the iOS code path with the Android code path.
2022-03-22 09:21:17 +11:00