Commit graph

1790 commits

Author SHA1 Message Date
Marc Durdin
bfdc3afb45 chore(common/core): refactor backspace handling
Moves the responsibility for deletion of markers when the users presses
the backspace key, from `kmx_processor::process_event` to
`KMX_ProcessEvent::ProcessGroup`. This has no effect on usage of Keyman
Core, but:

1. Simplifies the association between context and action further
2. Ensures that `m_actions` and `state->actions` will always be the
   same length, making future refactoring of these simpler
3. Allows us to use the index into the m_actions array for Debug events,
   which simplifies the interleaving of these for the upcoming Debugger.

When the user presses backspace at start of context (where there may be
markers in the cached context, but no characters), the kmx processor
will delete any markers prior to insertion point before requesting that
the consumer emit the backspace virtual key back to the application, to
allow the application to handle backspace at start of text.
2021-07-29 16:15:36 +10:00
Marc Durdin
3b4dfec809 chore(common/core): unit test fixes
Per review comments.
2021-07-28 10:02:39 +10:00
Marc Durdin
60b1cc7545 chore: fixup damaged merge 2021-07-27 08:32:02 +10:00
Marc Durdin
5a94012f01
Merge branch 'chore/common/core/debug-additional-tests' into chore/common/core/5488-delete-markers-reliably 2021-07-27 08:23:24 +10:00
Marc Durdin
1292b407bc
Merge branch 'master' into chore/common/core/debug-additional-tests 2021-07-27 08:17:53 +10:00
Marc Durdin
75ce10510a chore(common/core): address review comments
Also introduce a specific enum for backspace type rather than
inappropriately using the action item type enum.
2021-07-27 07:08:30 +10:00
Marc Durdin
91cde81d35 chore(common/core): extra test for context consistency 2021-07-26 15:29:16 +10:00
Marc Durdin
796a2d4c85 chore(common/core): handle deletion of markers in actions
Fixes #5488.

This updates Keyman Core, corresponding tests, and Keyman Engine for
Linux to support deletion of markers through an action, ensuring that
the action queue does not desynchronize with the context.
2021-07-26 15:23:20 +10:00
Keyman Build Agent
653469891f auto: increment master version to 15.0.89 2021-07-23 14:02:25 -04:00
Eberhard Beilharz
0eca43d4ea
feat(common/core): Implement capsAlwaysOff system store
This change implements the core part in a way that makes the tests
pass. This still needs corresponding changes in the engine.
2021-07-23 10:25:28 +02:00
Eberhard Beilharz
a16b320c17
chore(common/core/desktop): Update readme 2021-07-23 10:16:14 +02:00
Joshua Horton
0f55921c14
Merge pull request #5430 from keymanapp/refactor/web/osk-keyboard-view
refactor(web): osk inner-frame abstraction (help text vs std OSK) 🍕
2021-07-23 12:53:25 +07:00
jahorton
27096c8823 chore(web): addresses PR comments 2021-07-23 10:53:34 +07:00
Marc Durdin
049ffc9080
Merge pull request #5470 from keymanapp/feat/common/core/debug-action-index
feat(common/core): debug action index 🐞
2021-07-23 07:22:29 +10:00
Marc Durdin
a8acee1770
chore: Apply suggestions from code review
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2021-07-23 07:18:17 +10:00
Keyman Build Agent
2049089c10 auto: increment master version to 15.0.88 2021-07-22 14:01:23 -04:00
Marc Durdin
507c5a4e78 chore(common/core): additional debug tests
Adds some tests for Keyman Core for debugging, verifying contents of
the action list after every keystroke in the test.

Also refactors some of the test helper files to make it easier to
diagnose failing tests and share helper functions.
2021-07-22 20:05:01 +10:00
Marc Durdin
4560ae4f69 feat(common/core): add action_index to all debug events 2021-07-22 16:33:31 +10:00
jahorton
80732a98d7 chore(web): Merge branch 'master' into refactor/web/osk-keyboard-view 2021-07-22 07:37:36 +07:00
Keyman Build Agent
fc0084a3d4 auto: increment master version to 15.0.87 2021-07-20 14:01:15 -04:00
Marc Durdin
4fbfd33943 feat(common/core): debug action index
Adds an action_index to each debug event (not all debug events
need it). This allows the debugger to partially execute a rule
including the possibility of multiple updates to context.
2021-07-20 14:07:33 +10:00
Keyman Build Agent
d6f5ed5136 auto: increment master version to 15.0.86 2021-07-19 14:02:17 -04:00
jahorton
c3717a1813 chore(web): Merge branch 'master' into refactor/web/osk-keyboard-view 2021-07-19 15:37:11 +07:00
Marc Durdin
05971a21cf chore(common): Merge branch 'master' into feat/common/core/desktop/kmx_debugger_events 2021-07-19 04:24:35 +10:00
Marc Durdin
104827f103 chore(common): rename kmx_process files 2021-07-19 04:07:31 +10:00
Marc Durdin
a389c68f07 chore(common): rename header 2021-07-19 03:43:35 +10:00
Marc Durdin
2a0adf27d0 chore(common): Merge branch 'master' into feat/common/core/desktop/kmx_debugger 2021-07-19 03:34:04 +10:00
Marc Durdin
ceec63493d chore: rename KMX_Processor to KMX_ProcessEvent 2021-07-19 03:29:44 +10:00
Marc Durdin
a99717c0a1 chore: rename source files to match master 2021-07-19 03:27:19 +10:00
Keyman Build Agent
fb9432999c auto: increment master version to 15.0.85 2021-07-09 14:01:23 -04:00
Keyman Build Agent
603d1a4731 auto: increment master version to 15.0.84 2021-07-08 14:02:37 -04:00
Eberhard Beilharz
7d2f2cd928
refactor(common/core/desktop): Rename Load method
Rename KMX_Environment::Load to KMX_Environment::Set.

Fixes #5435.
2021-07-08 09:07:32 +02:00
Joshua Horton
75e47c1ccc
Merge pull request #5387 from keymanapp/refactor/web/osk-centralized-gestures
refactor(web): longpresses, groundwork for additional gestures 🍕
2021-07-08 08:18:05 +07:00
Marc Durdin
37bb7b77cf feat(common/core/desktop): add debug events
Adds debug events to the kmx processor and corresponding unit tests.
This corresponds largely to the way that keyman32 emits debug events,
but with one key change: debug events in keyman32 are processed
synchronously, whereas in Keyman Core, the full set of debug events will
be returned alongside the final action list for the key event.

Given this difference, there will likely need to be some more data
returned in individual debug events, specifically around intermediate
context manipulation, as required for step-by-step debugging. However,
that will come in a subsequent PR.
2021-07-08 11:16:58 +10:00
Marc Durdin
e114f31bba chore(common): kmx fixtures need debug symbols 2021-07-08 09:43:19 +10:00
Marc Durdin
e7d955147d chore: address review comments 2021-07-08 09:02:21 +10:00
Marc Durdin
fce011e47d
Merge pull request #5445 from keymanapp/refactor/core/issue-5436
refactor(common/core/desktop): Fix file and class names 🚧
2021-07-08 08:25:42 +10:00
Keyman Build Agent
824e5a1f1a auto: increment master version to 15.0.83 2021-07-07 14:01:12 -04:00
Eberhard Beilharz
69a2e9ec27
refactor(common/core/desktop): Fix file and class names
- rename source files for `kmx_processor` -> `kmx_processor.*`
- rename class `KMX_Processor` -> `KMX_ProcessEvent` with source
  files `kmx_processevent.*`

Closes #5436.
2021-07-07 15:25:15 +02:00
jahorton
a54fecebcc fix(common/models/types): fixes test script config 2021-07-07 12:05:44 +07:00
Keyman Build Agent
35e063b8a0 auto: increment master version to 15.0.82 2021-07-06 14:03:01 -04:00
Marc Durdin
29bc616b6d chore: address review comments 2021-07-06 15:31:04 +10:00
Marc Durdin
b1c0cbf405 chore(common): cleanup cross-platform code 2021-07-06 15:31:01 +10:00
Marc Durdin
2992e1ed83 feat(common/core/desktop): kmx debugger basic infrastructure
Part of #5013.

Adds all the debug infrastructure:

* public API headers
* public API implementation classes and functions
* basic unit tests
* helper classes for recording debug events
* minimal implementation of kmx-specific debug event signalling --
  just BEGIN and END events.
* tangential: unit test assertion macros and coloured output
2021-07-06 15:30:19 +10:00
jahorton
de82e8dab7 refactor(web): help-page desktop OSK + related docs 2021-07-06 10:55:55 +07:00
jahorton
6afe3684aa chore(common): Merge branch 'master' into chore/common/audit-fixes 2021-07-06 08:03:37 +07:00
jahorton
f6c217c629 fix(common/core/web): fixes recorder-core 2021-07-05 15:26:38 +07:00
Keyman Build Agent
4292885728 auto: increment master version to 15.0.81 2021-07-02 14:02:14 -04:00
jahorton
524a05d693 fix(common): more lodash attention 2021-07-02 15:23:45 +07:00
jahorton
4be81200e6 chore(web): karma update to fix lodash audit issue 2021-07-02 14:38:06 +07:00