Commit graph

181 commits

Author SHA1 Message Date
Marc Durdin
da32fbc255 fix(web): popupBaseKey null check
Fixes #5912.

Corresponding alpha fix coming.
2021-11-19 13:46:15 +11:00
Marc Durdin
22cd0e2675 chore: avoid error when running in unit tests 2021-11-17 07:32:49 +11:00
Marc Durdin
d55df2e630 fix(web): remove canvas use for iOS compatibility 🍒
Fixes #5831.

Cherry-pick of #5915.

iOS 15 has a significant crashing bug whereby use of a canvas element
completely crashes the browser in some contexts. In particular, we have
observed this when using a WKWebView in a keyboard extension without
'Allow Full Access' switched on.

Keyman uses canvas element to draw a nice looking key preview (key tip)
on iPhones. This is a critical issue for Keyman for iPhone. Keyman for
iPad is not affected because the iPad version does not use key previews.

The resolution here is to remove use of the canvas drawing for key tips
and use a simplified pure HTML/CSS shape. I have not conditioned this
fix on platform; I have currently opted to apply this to all platforms.

This issue will be reported to Apple for resolution. The issue applies
so far to iOS 15.0, 15.1.
2021-11-16 17:30:04 +11:00
Darcy Wong
87b580d998 fix(common/core/web): Remove empty rows in OSK 2021-09-16 10:29:58 +07:00
jahorton
1730ef6315 fix(web): restores code lost due to cherrypick rebase conflicts 2021-07-27 11:46:21 +07:00
jahorton
8b9066e109 fix(web): uninitialized layer index before OSK load 2021-07-27 11:41:39 +07:00
Marc Durdin
93bd778753 feat(ios): add spacebar text controls 🍒
Cherry-pick of #5365.

Relates to #949.

Mirror of #5349 (Android), for iOS.

* Adds setSpacebarText() API to Keyman Engine for iOS
* Adds displayName API to Keyman Engine for iOS
* Sets default spacebar text to keyboard name for FirstVoices Keyboards
* Does not add preference UI
2021-07-01 16:38:13 +10:00
Marc Durdin
3e77e84278 feat(web): spacebar text controls
Relates to #949.

* Adds optional `displayName` property to keyboard stubs: if present,
  this will override the name on the spacebar.

* Adds optional `spacebarText` member to `keyman.options`. This defaults
  to `SpacebarText.LANGUAGE_KEYBOARD`, and can be one of:

  ```
  SpacebarText.LANGUAGE
  SpacebarText.KEYBOARD
  SpacebarText.LANGUAGE_KEYBOARD
  SpacebarText.BLANK
  ```

* Sets the display pattern for LANGUAGE_KEYBOARD to be
  "language - keyboard" instead of "language (keyboard)", which
  reduces the number of parentheses visible on the spacebar.
2021-07-01 15:09:33 +10:00
jahorton
ac69353476 fix(web): reuses OSK width calc 2021-05-17 08:05:27 +07:00
jahorton
8dff00c93d fix(web): popup key positioning logic 2021-05-17 08:05:27 +07:00
jahorton
7a90ced6cf fix(web): fixes subkey lookup for fat-finger processing 2021-04-22 11:40:40 +07:00
jahorton
9439090205 fix(common/models): fixes overly zealous thresholding near word starts 2021-03-23 09:13:02 +07:00
jahorton
6298bb27f6 fix(web): first-pass workaround for popup-key corrections 2021-03-17 12:58:41 +07:00
jahorton
eb311bdda5 chore(common/core/web): adjustments from PR feedback 2021-03-17 12:02:51 +07:00
jahorton
7cbb78ea45 fix(web): uses new IDs as needed outside of web-core 2021-03-17 10:26:58 +07:00
jahorton
399c7fb6b4 fix(web): fixes lack of respect for underlying-key display settings 2021-03-03 08:55:37 +07:00
jahorton
ec61fa22d2 change(web): reverts incomplete tweak 2021-02-24 12:33:23 +07:00
jahorton
567df44a1a fix(web): mobile layouts for static keyboards now %-based 2021-02-24 12:10:37 +07:00
jahorton
a67e26fb1c fix(web): removes stylesheets from unloaded keyboards 2021-01-29 12:54:50 +07:00
Joshua Horton
17fd83deec
Merge pull request #4270 from keymanapp/fix/web/4026-rescale-tall-keys
fix(web): dynamic font downscaling for OSK keys
2021-01-22 12:27:43 +07:00
Joshua Horton
2f43b68a81
Merge pull request #4308 from keymanapp/fix/web/lang-menu-key-highlight
fix(web): language menu key highlighting
2021-01-22 09:44:19 +07:00
jahorton
b564341b46 fix(web): dynamic fontsize should only on key-text 2021-01-22 09:20:59 +07:00
jahorton
ed5866ffda change(web): timeout was already bound 2021-01-22 08:39:28 +07:00
jahorton
16ca7ecc80 change(web): default subkey change from review comment 2021-01-22 08:24:25 +07:00
jahorton
efda46e968 fix(web): language menu key highlighting 2021-01-21 13:34:48 +07:00
jahorton
cc5ba47603 change(web): adds 'break' for perfect-match case 2021-01-21 12:23:12 +07:00
jahorton
c5e67034e0 docs(web): enhances comment 2021-01-21 12:22:14 +07:00
jahorton
2db9c02fbf fix(web): default popup key selection, space highlight after popup 2021-01-21 12:09:51 +07:00
jahorton
693018a2e2 chore(web): Merge branch 'beta' into fix/web/4026-rescale-tall-keys 2021-01-21 10:32:36 +07:00
Joshua Horton
19cd7e3bd5
Merge pull request #4279 from keymanapp/fix/web/4240-keyboard-load-optimizations
fix(web): OSK loading efficiency
2021-01-21 10:21:06 +07:00
jahorton
03608f1be1 fix(web): better em-font-size detection, handles absolute spec on _Box 2021-01-20 16:35:18 +07:00
jahorton
20ef2b359a change(web): addresses PR comments 2021-01-20 16:06:08 +07:00
jahorton
0093c8b991 fix(web): default kbd ui name is now generic 2021-01-19 13:35:39 +07:00
Joshua Horton
4a6973c67f
Merge pull request #4282 from keymanapp/fix/web/3513-special-key-preview
fix(web): no key previews for special keys reliant on keyboard-specific OSK font
2021-01-19 11:56:13 +07:00
Joshua Horton
7d4763e902
Merge pull request #4255 from keymanapp/fix/web/4026-oversized-key-text-valign
fix(web): uses CSS line-height to vertically center oversized OSK keycaps
2021-01-19 10:39:44 +07:00
jahorton
addaad0dbd fix(web): better font-wait null guards 2021-01-19 09:26:16 +07:00
jahorton
b4856e6813 fix(web): polishes up changes (cherrypicks parts of key-rescaling PR) 2021-01-19 08:49:49 +07:00
jahorton
77f26712f1 fix(web): no longer shows key previews for special keys reliant on keyboard's OSK font 2021-01-18 15:33:13 +07:00
jahorton
8331b33b83 change(web): name tweak for new method 2021-01-18 13:10:42 +07:00
jahorton
29363e0d37 change(web): VisualKeyboard no longer repeatedly references cookie during construction 2021-01-18 12:30:36 +07:00
jahorton
71a89b5531 refactor(web): OSK size now tracked on VisualKeyboard 2021-01-18 11:50:19 +07:00
jahorton
2b9433fd4e fix(web): dynamic font downscaling for OSK keys 2021-01-15 13:52:18 +07:00
Joshua Horton
4a29e293c2
Merge pull request #4238 from keymanapp/fix/web/3991-null-offsetParent
fix(web): unexpected errors in OSK / banner position calculations
2021-01-15 09:59:14 +07:00
jahorton
bdd2a3e262 fix(web): subkeys are important, too 2021-01-15 09:34:32 +07:00
jahorton
e457b85697 fix(web): uses line-height to v-center oversized key text 2021-01-14 15:43:19 +07:00
jahorton
e175aa3e7c fix(web): OSK key preview positioning. Fixes #3953 2021-01-13 12:56:18 +07:00
jahorton
2bf5d8a76a fix(web): offsetParent -> parentElement 2021-01-13 10:09:46 +07:00
Darcy Wong
7e6d2c6ac6
Merge pull request #4098 from keymanapp/fix/web/offsettop-null
fix(web/ui): Add null check for calculations when canceling touch
2020-12-10 10:09:05 +07:00
Darcy Wong
e985dbaccb
Update web/source/osk/visualKeyboard.ts
Co-authored-by: Marc Durdin <marc@durdin.net>
2020-12-09 14:43:31 +07:00
Darcy Wong
993ba2f26b fix(web/ui): Fix check on indexOf 2020-12-09 14:30:47 +07:00