Commit graph

39 commits

Author SHA1 Message Date
Eberhard Beilharz
2f073f7778
chore(linux): Rename KMN_CORE to KM_CORE_LIBRARY 2023-10-19 08:51:29 +02:00
Eberhard Beilharz
b5c6f31b05
chore(linux): Rename KBP to CORE 2023-10-18 15:48:21 +02:00
Marc Durdin
db76e2541d chore: rename KM_KBP_ to KM_CORE_ 2023-10-09 14:53:22 +07:00
Marc Durdin
ba5f18defd chore: rename km_kbp_ to km_core_ 2023-10-09 14:53:13 +07:00
Marc Durdin
4e5cbc3b96 chore: fix typo 2023-10-09 14:51:51 +07:00
Marc Durdin
4ef18f5e29 chore(core): rename keyboardprocessor.h to keyman_core_api.h
Fixes #9721.

Also tweaks some documentation references to keyboardprocessor, but does
not touch those relating to debian/control.
2023-10-09 14:21:01 +07:00
Steven R. Loomis
4fc15c9175
Merge branch 'feat/core/9119-marker-core-epic-ldml' into feat/core/9121-regex-epic-ldml 2023-08-10 17:28:57 -05:00
Steven R. Loomis
022265e1b8 feat(core): regex 🙀
- update more test deps to link with ICU…

For: #9121
2023-08-09 16:27:56 -05:00
Steven R. Loomis
742373b673 feat(core): u32string_to_u16string 🙀
For: #9121
2023-08-09 16:19:38 -05:00
rc-swag
7e8e7be86f
Merge pull request #9353 from keymanapp/feat/windows/5822/notify-core-on-kbd-activation
feat(windows): Use Keyboard Activated event API call to turn off caps lock (if required) 🚏
2023-08-09 14:12:00 +10:00
Ross
85ad6125bf feat(windows): typos 2023-08-03 13:09:12 +10:00
Ross
a8f2934406 feat(windows): add unit test for external event
Added a unit test for an external event. Also updated
the unit test utility print code for action items to include
KM_KBP_IT_CAPSLOCK.
2023-07-31 09:52:14 +10:00
Steven R. Loomis
480fd3bcad fix(core): More range checks for Uni_IsValid() 🙀
For: #7375
2023-07-25 19:02:46 -05:00
Steven R. Loomis
352328fbbe fix(core): Better range check for Uni_IsValid() 🙀
- rewrite macros as inlines
- brute force approach

For: #7375
2023-07-25 18:42:29 -05:00
Steven R. Loomis
4d9fd28181 feat(core): fix UMR in Uset 🙀
- USet struct was depending on the COMP_KEYBOARD_EX (the .kmx data), but was used after load completed during processing
- Change the USet structure to contain a std::list<COMP_KMXPLUS_USET_RANGE> i.e. copying it
- but, while we're at it, added functions to validate that characters are within valid Unicode ranges.

#7375
2023-07-21 11:42:32 -05:00
Marc Durdin
035c447a31 chore(core): move test_assert.h and test_color.h to common 2023-04-10 15:21:45 +07:00
Marc Durdin
4523282510
chore: fix comment
Co-authored-by: Darcy Wong <darcy_wong@sil.org>
2023-03-28 17:58:17 +11:00
Marc Durdin
7a833c8c91 feat(core): use kmc to build kmx tests
Removes the Windows-only kmcomp.exe dependency, and instead now uses
kmc to always build .kmx files for unit tests.

debug_api.cpp was using an outdated .kmx file, which is why the line
number offsets have changed. (The perils of binary fixtures!)
2023-03-24 06:22:40 +07:00
Marc Durdin
691dc8e618 chore(core): split flags into standard.meson.build 2023-03-09 11:34:54 +07:00
Marc Durdin
c49f0e17ec chore(core): update unit tests with new store indices 2023-03-08 13:47:34 +07:00
Marc Durdin
19101c6a2a chore(core): cleanup meson build
This updates our meson min version on Windows to 1.0, which means that
we can avoid having Visual Studio on the path, as meson can find it
anyway. With this change, we can eliminate the batch-wrapper for the
build, significantly improving build performance and simplifying the
scripts.

This also adds a change to disable tests for dependency builds of core,
along with the `--no-tests` command line option for doing builds without
tests.

Minor cleanup includes eliminating various warnings from meson.build
files, and standardizing WASM cross-platform build options for Windows.
2023-02-21 12:12:28 +07:00
Steven R. Loomis
e4799d2498
Merge pull request #7956 from keymanapp/fix/core/maqtugha
fix(core): ldml: fix spelling of maqtugħa 🙀
2023-01-07 22:54:48 -06:00
Steven R. Loomis
f7f40a2bb8 fix(core): ldml: fix spelling of maqtugħa 🙀
- maqtua should be maqtugħa (cut) but spelled as maqtugha where used as an NMTOKEN
2022-12-30 17:01:48 -06:00
Steven R. Loomis
b850e3f7d8 chore(core): ldml: fix merge 🙀
- correct merge issue with km_kbp_process_event()

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7042
2022-12-16 14:07:08 -06:00
Steven R. Loomis
bc14f18460 Merge remote-tracking branch 'origin/master' into chore/core/mergemaster4-epic-ldml 2022-12-15 17:55:13 -06: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
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
Steven R. Loomis
fc554c4901 fix(core): xstring/utf32 review feedback
For: #7418

Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2022-10-13 17:05:39 -05:00
Steven R. Loomis
20032d02b7 feat(core): kmx_xstring: New UTF-16 to UTF-32 function 🙀
- plus test

For #7418
2022-10-12 19:23:58 -05:00
Steven R. Loomis
029a2737bf fix(core): ldml: improve utf-32 handling++ 🙀
- review comments
- kmx_xstring: add and document macros, add Utf32CharToUtf16
- unit tests for kmx_xstring macros

Fixes: #7134
2022-09-08 11:45:23 -05:00
Marc Durdin
e6ff47f2b3 chore: Merge branch 'master' into feature-ldml 2022-08-24 04:21:21 +10:00
Steven R. Loomis
e8dff5cf4e feat(core): add event_flags to process_event #7046
- use a constant, KM_KBP_EVENT_FLAG_DEFAULT for 0
- update pascal and python
- update linux and windows
2022-08-12 09:58:58 -05:00
Steven R. Loomis
21a783a6ca feat(core): add event_flags to process_event
- uint16_t
- defined km_kbp_event_flags to define the bitfield
- bitfield has value KM_KBP_EVENT_FLAG_TOUCH for touch events
- ignored everywhere, currently
2022-08-11 16:14:57 -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
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
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