Commit graph

5162 commits

Author SHA1 Message Date
Ross
d7bc65ffa9 feat(windows): cast int64 to int 2022-01-06 11:06:46 +10: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
Marc Durdin
2c01b19f69 chore: cleanup
1. Renamed form UfrmNGrokOptions to UfrmServerOptions
2. Renamed kmdev-server to just plain server
3. Tidied up npm versioning to use VERSION_WITH_TAG

This last point should help avoid confusion as now only CI release
builds will ever generate a package.json with a.b.c, a.b.c-alpha or
a.b.c-beta. Local and test builds will always have the corresponding
-test or -local environment appended. This also helps avoid issues if
we accidentally publish an incorrect version.
2021-12-22 06:25:22 +11: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
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
Eberhard Beilharz
7bfc622718
Merge pull request #6002 from keymanapp/refactor/core/usedefines
refactor(common/core): Use defines in all xstring tests
2021-12-07 17:19:32 +01:00
Keyman Build Agent
879c86f8f4 auto: increment master version to 15.0.164 2021-12-06 13:01:22 -05:00
Ross
c26e1f3485 chore(common): buf now uses decxstr so remove comment
remove comment about it splitting surrogate pairs and
deadkeys
2021-12-06 10:37:49 +10: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
Eberhard Beilharz
e890bede2c
refactor(common/core): Use defines in all xstring tests 2021-12-03 18:14:35 +01:00
Eberhard Beilharz
cbf0155108
fix(common/core): Fix KMX_Context::Add()
When our context buffer is too small we now properly move the
content by a full xstring unit so that we don't end up with the
buffer starting with an invalid sequence (half of a dead key or
surrogate pair).
2021-12-03 17:26:15 +01:00
Eberhard Beilharz
7766718f7c
chore(linux): Add more core unit tests 2021-12-03 17:26:14 +01:00
Eberhard Beilharz
855cb9d916
refactor(linux): Refactor two core tests
This change refactors two tests to no longer rely on obscure internal
knowledge. This allows the tests to also run in ibus-keyman.
2021-12-03 17:23:36 +01:00
Eberhard Beilharz
e31cf4a1d8
chore(linux): add non-surrounding-text feature to tests
This also fixes a failing test (`048 - modifier keys keep context`)
if surrounding text is not supported. If the user presses the
capslock key we shouldn't reset the context if no rules match.

Fixes #5613.
2021-12-03 17:23:35 +01:00
rc-swag
faff079e2e
chore(common):fix typos in commments 2021-12-03 15:18:59 +10: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
Ross
884c249286 chore(common): add more description to Buf method
Also updated the doxy to remove the brief tag.
Made mirror change to appint.h
2021-12-03 10:01:53 +10:00
Keyman Build Agent
0c6780a386 auto: increment master version to 15.0.160 2021-12-02 13:01:57 -05:00
Marc Durdin
9e5c30bca6 chore(web): fixup header comments per review 2021-12-02 07:26:41 +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
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
Marc Durdin
88ea17e0ba feat(developer): support for Caps Lock layer 🍆
Relates to #3620.

Allows keyboard developers to add a Caps Lock layer (called 'caps'),
which will be accessible through double-tap of Shift key, in an upcoming
PR.

Also adds test keyboards to exercise the functionality when it is
available.
2021-12-01 08:53:23 +11:00
Marc Durdin
1683998999
Update common/core/web/input-processor/src/text/inputProcessor.ts
Co-authored-by: Darcy Wong <darcy_wong@sil.org>
2021-11-30 12:54:31 +11:00
Keyman Build Agent
13f3bc91d4 auto: increment master version to 15.0.158 2021-11-29 13:03:07 -05:00
Eberhard Beilharz
30897811c0
Merge pull request #5966 from keymanapp/fix/linux/tests
fix(linux): Fix ibus-keyman integration tests 🎫
2021-11-29 09:55:30 +01:00
Ross
cfed6f1112 feat(windows): add comment for clarity 2021-11-29 10:52:17 +10:00
Ross
059af9efd1 feat(windows): add MapUSCharToVK to kmx processor 2021-11-29 10:52:16 +10:00
Ross
c875cdbc11 feat(windows): add MapUSCharToVK to kmx processor 2021-11-29 10:52:14 +10:00
Ross
58384ede0a feat(windows): clean up old kbd kmx 2021-11-29 10:52:13 +10:00
rc-swag
3df288779e feat(core): update copyright
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2021-11-29 10:52:12 +10:00
Ross
c95e565fbf feat(windows): Replace magic numbers with constants 2021-11-29 10:52:11 +10:00
Ross
6f6600a501 feat(windows): Rename kbd file fix meson build for key list test 2021-11-29 10:52:09 +10:00
Ross
4d1eee983c feat(windows): remove unused vk_count var 2021-11-29 10:52:08 +10:00
Ross
31d7200a63 feat(windows): replace insert_or_assign with[] for hashmap
Also update issue comment for future removal of winows processor code
2021-11-29 10:52:07 +10:00
Ross
2353590138 feat(windows): Make keyboad key list unique 2021-11-29 10:52:06 +10:00
rc-swag
4e1ccfdd4f feat(windows): apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2021-11-29 10:52:04 +10:00
Ross
edfa9bcddd feat(windows): Fix auto using int instead of uint 2021-11-29 10:52:03 +10:00
Ross
ac16abdb18 feat(windows): rename key_rules -> key_list 2021-11-29 10:52:02 +10:00
Ross
9f44cf49fc feat(windows): fix pkeys index add comments
The pkeys was using the wrong counter as a index
in the map check therefore matching the incorrect key
2021-11-29 10:52:01 +10:00