Commit graph

5430 commits

Author SHA1 Message Date
Ross
da56bc7a82 feat(windows): tweak tests after rebase master 2022-01-13 13:59:41 +10:00
Ross
f1f1d4e9b7 feat(windows): fix compile error 2022-01-13 13:59:40 +10:00
Ross
a72697423a feat(windows): add logging to be removed later 2022-01-13 13:59:39 +10:00
Ross
a078c2e577 feat(windows): add register callback 2022-01-13 13:59:31 +10:00
Ross
cec762bd16 feat(windows): add get intermediate context 2022-01-13 13:56:03 +10:00
Ross
8bdd252a77 feat(windows): stashed changes conflict 2022-01-13 13:56:02 +10:00
Ross
f2c52803eb feat(windows): Wip mod kmcontext 2022-01-13 13:56:01 +10:00
Ross
6f83d96bbb feat(windows): kmx.cpp missed the last commit 2022-01-13 13:56:00 +10:00
Ross
4a6d608a92 feat(windows): fix missing break in action items switch 2022-01-13 13:55:59 +10:00
Ross
9d320c6bd8 feat(windows): core queue_action_items unit test 2022-01-13 13:55:58 +10:00
Ross
993655d340 feat(windows): Some documentation 2022-01-13 13:55:56 +10:00
Ross
fd71876e26 feat(windows): Update KMSetOutput to use core processor 2022-01-13 13:55:49 +10:00
Ross
cd41989698 feat(windows): First cut queue action api WIP 2022-01-13 13:54:53 +10:00
Ross
490e6601bc feat(windows): Initial Commit 2022-01-13 13:54:30 +10:00
Keyman Build Agent
1dbcbd2bd3 auto: increment master version to 15.0.177 2022-01-12 13:01:52 -05:00
rc-swag
d585ca6741
Merge pull request #6080 from keymanapp/feat/windows/6079-set-app-context-truncation
feat(windows): method set context correctly truncates input buffer
2022-01-12 09:01:03 +10: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
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