Commit graph

4628 commits

Author SHA1 Message Date
Keyman Build Agent
1dbcbd2bd3 auto: increment master version to 15.0.177 2022-01-12 13:01:52 -05:00
Darcy Wong
1eeb5b1da9 fix(web): Use regex to determine layers 2022-01-12 14:58:35 +07:00
Darcy Wong
5769c80d12 fix(web): Fix layers for embedded longpress keys 2022-01-12 14:58:35 +07:00
Keyman Build Agent
c19dec389f auto: increment master version to 15.0.176 2022-01-11 13:01:39 -05:00
Keyman Build Agent
2397a65407 auto: increment master version to 15.0.175 2022-01-10 13:01:57 -05:00
Keyman Build Agent
30282b059d auto: increment master version to 15.0.174 2022-01-05 13:02:49 -05:00
Keyman Build Agent
42b5552c75 auto: increment master version to 15.0.173 2021-12-23 13:01:25 -05:00
Keyman Build Agent
e10b43e0ef auto: increment master version to 15.0.172 2021-12-17 13:02:29 -05:00
Keyman Build Agent
86d50af4a6 auto: increment master version to 15.0.171 2021-12-16 13:01:48 -05:00
Keyman Build Agent
ee2fe48567 auto: increment master version to 15.0.170 2021-12-15 13:01:30 -05:00
Keyman Build Agent
afac293045 auto: increment master version to 15.0.169 2021-12-14 13:01:07 -05:00
Keyman Build Agent
23db5a0f8d auto: increment master version to 15.0.168 2021-12-13 13:01:06 -05:00
Keyman Build Agent
b8dd9d8cb2 auto: increment master version to 15.0.167 2021-12-11 13:01:59 -05:00
Marc Durdin
1d92385928 chore(web): start-of-sentence in manual test pages 2021-12-09 05:59:16 +01:00
Keyman Build Agent
399eb7472f auto: increment master version to 15.0.166 2021-12-08 13:01:25 -05:00
Marc Durdin
5ab9574112
Merge pull request #5906 from keymanapp/fix/web/5779-font-scaling-in-osk
fix(web): font size was not consistently set
2021-12-08 19:42:11 +11:00
Keyman Build Agent
e22cf8c453 auto: increment master version to 15.0.165 2021-12-07 13:01:28 -05:00
Marc Durdin
ce1ce4e428
Update web/source/osk/banner.ts
Co-authored-by: rc-swag <58423624+rc-swag@users.noreply.github.com>
2021-12-07 19:57:29 +11:00
Keyman Build Agent
879c86f8f4 auto: increment master version to 15.0.164 2021-12-06 13:01:22 -05:00
Keyman Build Agent
cf2857f5c1 auto: increment master version to 15.0.163 2021-12-05 13:01:23 -05:00
Keyman Build Agent
aeab6eabef auto: increment master version to 15.0.162 2021-12-04 13:01:30 -05:00
Keyman Build Agent
3ebb31c66d auto: increment master version to 15.0.161 2021-12-03 13:35:27 -05:00
Marc Durdin
10ef52624d chore: remove commented code 2021-12-03 14:15:48 +11:00
Marc Durdin
5e65120b3f fix(web): call postKeystroke on banner touch
Relates to #3621.

Ensures that the `begin postKeystroke` entry point is called when the
user accepts a suggestion.
2021-12-03 14:13:43 +11:00
Keyman Build Agent
0c6780a386 auto: increment master version to 15.0.160 2021-12-02 13:01:57 -05:00
Marc Durdin
9995c9f54c fix(web): revise tablet detect strategy
This is based on research from various websites, including Google
documentation and https://screensiz.es/, as well as various older pages.
2021-12-02 15:37:56 +11:00
Marc Durdin
2159df10ee chore: tweak keyboard rules for full caps
Removed the 'heuristic' test as it is probably not appropriate for
testing. Removed the mobile-specific platform from the touch layout as
it did not include a caps layer (and should have been identical to the
tablet one anyway).
2021-12-02 05:11:08 +11:00
Keyman Build Agent
a2cb10cf71 auto: increment master version to 15.0.159 2021-12-01 13:01:30 -05:00
Marc Durdin
5fbb1c1dfb chore(web): minor cleanup of pending longpress 2021-12-01 09:27:25 +11:00
Marc Durdin
62796e3489 feat(web): Caps Layer and double-tap gesture
Fixes #3620.

Implements the Caps Lock layer support and the double-tap gesture on the
shift key to access it.

The double-tap gesture has been implemented with a view to extension to
support other multi-tap gestures in the future. However, for now, it is
limited to supporting the Shift key, if and only if the keyboard
includes a Caps layer.

The reason for this v15 limitation is that multi-tap on regular keys
would involve either rewinding the previous keystroke (the first tap),
or forcing keyboard developers to consider 'rota' style rules in their
keyboards to support the multi-tap gestures, as we need to make sure
that the first tap is accepted and processed for immediate feedback.
This needs more design, to avoid unnecessary complexity in the keyboards
and/or the rewinding of the keystroke (even though that is conceptually
supported in Keyman Engine for Web already). Basically, we don't want to
constrain the way that a keyboard author may use the multi-tap gesture
by hard-coding the rewind, but neither do we want to make all multi-tap
gestures needlessly complex to author.

The shift key (and other modifiers, potentially in future) needs special
support for multi-tap as the key that is being tapped changes with the
layer change. This is currently managed through recognising `K_SHIFT` in
the key id.

I have tried to follow the `PendingGesture` pattern for multi-tap, and
the gesture itself supports a series of taps, not just a double-tap. The
maximum time to complete the tap series is 125msec * number-of-taps, so
for a double-tap is 250msec.

The changes to support a Caps Lock layer itself were minimal; just
adding the `text.KeyboardProcessor.getStateFromLayer` function and
calling it during `KeyEvent` construction. The remaining changes relate
to the multi-tap gesture.

Minor changes:
* I moved `constructNullKeyEvent` to `KeyEvent` in order to make it
  more accessible to other classes.
* The multi-tap gesture does not have a promise to complete, so that is
  now an optional member of the `PendingGesture` interface.
2021-12-01 08:59:43 +11:00
Keyman Build Agent
13f3bc91d4 auto: increment master version to 15.0.158 2021-11-29 13:03:07 -05:00
Marc Durdin
3601ae95e4 chore(web): fix broken test 2021-11-29 10:54:05 +11:00
Marc Durdin
3f35cc0bf8 chore(web): Merge branch 'master' into feat/web/3621-newcontext-group 2021-11-29 10:22:22 +11:00
Marc Durdin
e98930dedb
Merge branch 'master' into fix/web/5779-font-scaling-in-osk 2021-11-29 09:12:15 +11:00
Marc Durdin
45821fcb1b fix(web): adjust tablet font scaling
This makes two corrections:

1. Removed an obsolete test for screen size based on dpi, which is
   unreliable, meant that we had been treating many Android tablets as
   phones (domManager.ts).
2. Font scale for Android tablets had some incorrect assumptions around
   keyboard height and devicePixelRatio, which I was able to simplify
   into a fixed ratio, and was much better across all devices I
   tested (however, all emulated in Chrome).
2021-11-29 08:56:41 +11:00
Marc Durdin
d6982898a8 fix(web): restore dragEnd function
Relates to #5947.

I resolved a merge conflict in #5947 in the wrong direction and
accidentally deleted the `dragEnd` function. This restores it.
2021-11-29 07:40:04 +11:00
Marc Durdin
c7b83f9f1f
Merge branch 'master' into fix/web/5944-save-focus-for-eurolatin-osk 2021-11-29 06:35:53 +11:00
Marc Durdin
8bc61094c8
Merge pull request #5958 from keymanapp/fix/web/improve-keyboard-switch-performance
fix(web): improve keyboard switch performance
2021-11-29 06:34:55 +11:00
Marc Durdin
93d2e82096
Merge pull request #5949 from keymanapp/fix/web/5912-popupbasetarget
fix(web): remove obsolete popupBaseTarget
2021-11-29 06:34:49 +11:00
Keyman Build Agent
158faa8589 auto: increment master version to 15.0.157 2021-11-26 13:01:09 -05:00
Keyman Build Agent
9cdda14f9e auto: increment master version to 15.0.156 2021-11-24 13:01:44 -05:00
Marc Durdin
9eb2e4d4f9
Merge pull request #5952 from keymanapp/fix/web/5950-clear-timeout-on-longpress-flick
fix(web): clear longpress timeout if user does a flick up
2021-11-24 18:04:33 +11:00
Marc Durdin
f300e81381
Merge branch 'master' into fix/web/5909-shorten-setfocustimer 2021-11-24 07:11:34 +11:00
Marc Durdin
066c03975f
Merge pull request #5919 from keymanapp/fix/web/5313-scrolling-anchor-reset-on-touchend
fix(web): reset scroll anchor on touchend
2021-11-24 07:10:47 +11:00
Marc Durdin
ce2aa9a166 feat(web): support for &layerChanged
Relates to #3621.

Add support for `&layerChanged` system store. This store is set to `1`
before a `begin postKeystroke`, if the keystroke it follows resulted in
a layer change, either programatically through a keyboard rule, or
through a `nextlayer` property of the touched key.
2021-11-24 06:45:20 +11:00
Marc Durdin
f5fc41712d feat(web): add support for begin postKeystroke
Relates to #3621.

This adds support for `begin postKeystroke` to KeymanWeb. This is now
close to final, apart from support for `&layerChanged`.
2021-11-23 16:56:16 +11:00
Marc Durdin
dcedb15b69 chore: cleanup comments and defines 2021-11-23 16:08:19 +11:00
Marc Durdin
bbbf1afce7 feat(web): basic support for newContext
Relates to #3621.

Adds basic support for `begin newContext`.
2021-11-23 15:00:47 +11:00
Marc Durdin
e803bed813 feat(web): start-of-sentence test keyboard
Relates to #3621.

Initial draft of keyboard to test start-of-sentence detection.
2021-11-23 10:11:10 +11:00
Keyman Build Agent
e0034044b0 auto: increment master version to 15.0.155 2021-11-22 13:02:01 -05:00