Commit graph

151 commits

Author SHA1 Message Date
rc-swag
b71fde66f9
Merge branch 'master' into feat/windows/keyman-core-integration-2 2021-09-27 21:40:22 +10:00
rc-swag
4cc9525d2b
Merge pull request #5669 from keymanapp/fix/common/core/list-size-endless-loop
fix(common/core): insure list pntr is incremented
2021-09-21 09:01:27 +10:00
Marc Durdin
41a9e8c26d
Merge pull request #5696 from keymanapp/feat/developer/5695-debugger-track-set-option-value
feat(developer): track changes to option values better in debugger 🐞
2021-09-20 16:12:39 +10:00
Marc Durdin
e1e2a51d9c chore(common/core): cleanup version headers
Fixes #5450.
2021-09-20 06:05:04 +10:00
Marc Durdin
547ede3a9b fix(developer): add version info to Core
Fixes #5672.

* Adds version information to meson build for Keyman Core DLL
* Removes verify.dpr patch added in #5649 so it will be tested at build
2021-09-17 12:47:01 +10:00
Marc Durdin
1e8d14ea72 chore(common/core/desktop): remove unused variable 2021-09-15 15:42:13 +10:00
Marc Durdin
cec8d11759 feat(developer): track changes to option values better in debugger
Fixes #5695.

When the debugger is in single-step mode, reflects the value of option
stores at the time of the change rather than at the beginning of the
batch.
2021-09-15 15:29:44 +10:00
Ross
e7293a58ab fix(common/core): remove unused vars in options test 2021-09-06 13:16:12 +10:00
Ross
42c13856f8 fix(common/core): add unit test for km_kbp_options_list_size 2021-09-06 09:47:30 +10:00
rc-swag
da06c62bf1
fix(common): apply indent suggested fix km_kbp_options_api.cpp
Co-authored-by: Marc Durdin <marc@durdin.net>
2021-09-06 06:41:13 +10:00
Ross
d21a1ac445 fix(common/core): insure list pntr is incremented 2021-09-03 14:40:29 +10:00
Ross
f56c1839fd feat(windows): formating of km_kbp_options_list_size 2021-09-03 14:30:53 +10:00
Ross
5ffb136acf feat(windows): Added UpdateKeyboardOptions
This functions was to update the keyboard options in the
windows engine with the current options in the core

However it is not needed as first thought. This is because the options
will not be updated in first Non updatable call kmtip. This is due to
the fact the actions will not be processed. A variation on the current
core implementation. I am still pushing the branch as the unit test will
be usefull.
2021-09-02 11:57:44 +10:00
Eberhard Beilharz
b51d0e0b00
fix(linux): Address code review comments 2021-08-19 12:15:42 +02:00
Ross
937bf8a485 feat(windows): review comments 2021-08-19 14:17:34 +10:00
Ross
4350c5a63d feat(windows): review comments rename keyman32-tests 2021-08-19 11:51:31 +10:00
Eberhard Beilharz
f0c3280517
fix(linux): Fix lost context after pressing K_SHIFT
This fixes typing `n>` with sil_ipa keyboard which no longer output
the expected `ŋ` because pressing the shift key reset the context.

For modifier key presses we now exit `KMX_ProcessEvent::ProcessEvent`
early.

This change also removes a redundant line from engine.c. Clearing
the context happens in `reset_context()` again if necessary.

Fixes #5591.
2021-08-18 19:26:45 +02:00
Ross
4bf4106a37 chore(windows): Merge branch 'master' into feat/windows/keyman-core-integration-2 2021-08-17 16:23:38 +10:00
Ross
ae9ba52ab9 fix(windows): meson build for static lib 2021-08-10 17:43:55 +10:00
Eberhard Beilharz
3f8d8f5cff
Merge pull request #5564 from keymanapp/chore/core/uninstall
chore(common/core): Add uninstall option to build script
2021-08-09 08:15:20 +02:00
Eberhard Beilharz
3509ddeb7c
chore(common/core): Add uninstall option to build script 2021-08-06 16:53:33 +02:00
Eberhard Beilharz
c9497fd494
feat(common/core): Implement shiftFreesCaps and capsOnOnly 2021-08-06 16:13:58 +02:00
Eberhard Beilharz
f3ea1dafee
fix(common/core): Turn off capslock on key down
This change improves capslock handling with a capsAlwaysOff keyboard.
Previously, the caps lock indicator was turned on while holding down
the Caps Lock key. With this change we turn it off immediately. This
is done by forcing caps lock off even if the state already seems to
match.

Also, for capsAlwaysOff keyboards skip further processing of caps
lock key after we turned capslock off again.
2021-08-06 12:21:20 +02:00
Eberhard Beilharz
dabfea57ab
Merge pull request #5536 from keymanapp/chore/linux/5022-debian
chore(linux): Consolidate Debian source packages 📦
2021-08-06 12:02:54 +02:00
Eberhard Beilharz
3d10e6100f
chore(linux): Remove no longer needed debian directories
The previous commit created a consolidated toplevel `debian`
directory.
2021-08-06 11:25:00 +02:00
Marc Durdin
d76eca052e fix(common/core/desktop): split smp for context chars
Fixes #5465.
Fixes #5561.

If a non-BMP Unicode char was emitted into the internal context, it was
being truncated to a WORD, which caused data loss for multi-group
keyboards.

Includes an update to a unit test to validate this fix.
2021-08-06 12:28:15 +10:00
Eberhard Beilharz
c3b27b1c98
Merge pull request #5518 from keymanapp/refactor/core/comment
refactor(common/core): Move comment to where it belongs
2021-08-04 14:20:47 +02:00
Eberhard Beilharz
5cd1d0e432
refactor(common/core): Move comment to where it belongs 2021-08-04 12:25:49 +02:00
Eberhard Beilharz
0a28af6c83
chore(common/core): Allow shell script for kmcomp
This change allows to build the keyboards on Linux if a `kmcomp`
script can be found in PATH. Otherwise we check for and use `wine`
and `kmcomp.exe`.
2021-08-04 12:25:02 +02:00
Ross
c0826e9930 feat(windows): use static library for keyboard core 2021-08-04 09:36:42 +10:00
Ross
7d5187ae64 feat(windows): add correct memory free calls for core 2021-08-02 13:17:22 +10:00
Marc Durdin
6c645ff03c chore: fix comment 2021-07-29 16:36:26 +10:00
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
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
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
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
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
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