Commit graph

20 commits

Author SHA1 Message Date
Eberhard Beilharz
108e849459
fix(linux): Fix lintian warnings 2022-11-16 18:45:34 +01:00
Ross
2fcc0feed0 chore(windows): rearrange mock_options_update add commment 2022-11-15 11:03:41 +10:00
rc-swag
9117b391e3
chore(windows): address review comments
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-11-14 16:15:40 +10:00
Ross
578a9017f4 chore(windows): add unit test for SetupCoreEnvironment 2022-11-14 12:55:13 +10:00
Marc Durdin
42a9f2ca72 fix(core): emit keystroke was writing to wrong queue
Fixes #7649.

emit_keystroke code path in kmx processor was writing directly to the
core queue instead of to the internal kmx processor queue. This caused
it to be out-of-order in the actions sent to the engine/debugger.

Engines didn't really care but it broke the debugger, for example if
only a deadkey was in the buffer and backspace was pressed, Developer
would assert as it would get unexpected context for the deletions.
2022-11-08 16:31:30 +11:00
Marc Durdin
8e5c26bc2a fix(core): m_actions already existed in KMX_Options 2022-11-07 10:50:14 +11:00
Marc Durdin
a8c3854431 fix(core): save() should be on internal kmx action queue
Fixes #7643.

The kmn statement `save()` action was being written directly to the
state queue, bypassing the internal kmx action queue. This caused two
issues:

1. save() actions were out-of-order with other actions on the same key
   event.
2. The number of items in the internal action queue became out of sync
   with the debug item queue, which would cause the debugger to fail
   with an assertion.

The new test in debug_api.cpp validates this second issue as the number
of items in the action queue now matches the expected count in the
corresponding debug item.
2022-11-07 10:28:58 +11:00
Eberhard Beilharz
e04acb8295
fix(core): Add missing include files
Recently some include files got added to `common/include` which are
referenced by `core/include/keyman`. This change adds the necessary
code to install them in the same directory as the other include files.

Fixes #7490.
2022-10-20 17:06:35 +02:00
Marc Durdin
8678a0d35b chore(core): mark unused parameters 2022-09-07 10:36:35 +10:00
Marc Durdin
5104914672 feat(core): add km_kbp_event API endpoint
Adds infrastructure required to support caps lock control on keyboard
activation per #5822.

Keyboardprocessor implementation is currently a stub, and engines will
need corresponding updates to support the new API.
2022-09-07 10:24:01 +10:00
Marc Durdin
895ce930a0
Merge pull request #6993 from keymanapp/chore/core/rename-json-source
chore(core): rename json.hpp to jsonpp.hpp 🛩
2022-08-29 14:48:32 -05:00
Marc Durdin
8e36b33f21 chore(common): check for redefinition of defines 2022-08-11 16:29:02 +02:00
Marc Durdin
515bda7692 chore(linux): ensure char16_t and namespace 2022-08-11 16:13:33 +02:00
Marc Durdin
dedb06e7cc chore(common): refactor shared types into km_types.h 2022-08-11 11:36:09 +02:00
Marc Durdin
422e7227a6 chore(core): move kmx_file.h to common 2022-08-11 11:34:09 +02:00
Marc Durdin
f762776d5c chore(core): get wasm core building again
Updates search for emscripten if not on path, and fixes up unit test
infrastructure for wasm builds for new tests.
2022-08-01 14:15:52 +10:00
Marc Durdin
b5bddc025f chore(core): rename json.hpp to jsonpp.hpp
The name json.hpp conflicts with the JSON for Modern C++ library that
is also used by Developer. Renames json.hpp and json.cpp to jsonpp.hpp
and jsonpp.cpp aka "JSON Pretty Printer".
2022-07-26 13:06:16 +10:00
Eberhard Beilharz
57c736f17a
fix(common): Fix delete
GCC 12 will output an error if the wrong `delete` is used.

Fixes #6930
2022-07-18 15:38:33 +02:00
Marc Durdin
d5aa61fdc0 chore(common): Merge branch 'chore/web/keyman-version-for-developer' into chore/common/move-common-core-desktop-to-core 2022-05-30 09:38:27 +10:00
Marc Durdin
a58680f89b chore(common): move common/core/desktop/ to core/ 2022-05-18 07:22:10 +10:00