Commit graph

20 commits

Author SHA1 Message Date
Marc Durdin
3858a4c9e5 fix(web): further iOS adjustments 2022-03-24 07:35:28 +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
86b4b82661 fix(web): key preview position was inconsistent on iOS
Adjusts calculations for key preview and ensures we use box-sizing:
content-box in all circumstances, to make it consistent across all
platforms.
2022-03-17 10:19:10 +11:00
Marc Durdin
a2aef99c3e fix(web): font size on key preview
Font size adjustment needed an override for the key preview to prevent
it using the base key font size as a starting point.
2022-03-17 10:15:40 +11:00
Marc Durdin
d3136b8860 fix(web): ios popup positioning and style
Fixes #5929.
Fixes #6381.

This fixes four separate issues with the longpress popups and key
previews:

1. The key preview was offset by a couple of pixels (unreported issue).
2. The background 'shim' did not cover the key caps, which caused them
   to look startlingly white when the rest of the background greyed
   down (#5929).
3. The popup menu was incorrectly wrapping to two rows due to sizing
   model mismatches (#6381).
4. The popup menu would be realigned incorrectly for the in-app
   keyboard, when moving it to keep it in the keyboard area (#5929).
2022-03-16 11:24:02 +11:00
Marc Durdin
0314593a96 fix(web): inline osk keytip position
Fixes #5935.

Takes parent element's position into account when calculating keytip
location.
2021-11-18 15:47:56 +11:00
Marc Durdin
35c5a34126
Update web/source/osk/browser/keytip.ts 2021-11-17 09:14:21 +11:00
Marc Durdin
c9474ceae8 fix(web): remove canvas use for iOS compatibility
Fixes #5831.

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 16:51:34 +11:00
Marc Durdin
dbd9787a7a
Merge branch 'master' into fix/web/popup-positioning 2021-10-05 17:41:49 +11:00
jahorton
31ac1b7c1b chore(web): replaces literals with constants 2021-09-23 09:27:09 +07:00
Marc Durdin
c760fb7464 fix(web): popup positioning
Fixes three issues:

* longpress positioning for inlined OSK views where not all elements
  may be in the offset hierarchy; impacts particularly where an inlined
  OSK may be within a flex-box.

* Tweaks position of keytip, to take into account the offsetTop of the
  key element.

* Inverts test for display of longpress callout, matching Keyman 14.
2021-09-23 08:18:57 +10:00
jahorton
da8e83090a fix(web): touch-based unit test issues 2021-09-20 15:46:59 +07:00
jahorton
dfdf0c2e9b fix(web): key preview positioning 2021-09-02 10:39:54 +07:00
jahorton
6b248075d6 feat(web): partially-functional inlined OSK! 2021-09-01 15:31:01 +07:00
jahorton
e1da0014c3 refactor(web): start of OSKView abstraction 2021-08-23 10:01:06 +07:00
jahorton
84e2c368cf fix(web): restores key tip, subkey popup positioning 2021-07-27 07:56:54 +07:00
jahorton
b3d13c5b9e fix(web): removes accidental comment-out op 2021-06-15 10:04:29 +07:00
jahorton
c8293504e1 refactor(web): non-embedded keytips: constrain param 2021-06-15 09:50:30 +07:00
jahorton
9508d70589 refactor(web): keytip abstraction, showKeyTip fusion 2021-06-15 09:35:45 +07:00
jahorton
0ee50e7d85 refactor(web): encapsulates embedded keytip 2021-06-15 09:20:40 +07:00
Renamed from web/source/osk/keytip.ts (Browse further)